// SPDX-License-Identifier: MIT
// Copyright (C) 2018-present iced project and contributors

using Generator.Enums;
using Generator.Enums.Decoder;

namespace Generator.Decoder {
	static class DecoderTable_EVEX {
		public const string Handlers_0F = nameof(Handlers_0F);
		public const string Handlers_0F38 = nameof(Handlers_0F38);
		public const string Handlers_0F3A = nameof(Handlers_0F3A);
		public const string Handlers_MAP5 = nameof(Handlers_MAP5);
		public const string Handlers_MAP6 = nameof(Handlers_MAP6);

		public static (string name, object?[] handlers)[] CreateHandlers(GenTypes genTypes) {
			var kind = genTypes[TypeIds.EvexOpCodeHandlerKind];
			var reg = genTypes[TypeIds.Register];
			var code = genTypes[TypeIds.Code];
			var tuple = genTypes[TypeIds.TupleType];

			var RM = kind[nameof(EvexOpCodeHandlerKind.RM)];
			var Group = kind[nameof(EvexOpCodeHandlerKind.Group)];
			var W = kind[nameof(EvexOpCodeHandlerKind.W)];
			var MandatoryPrefix2 = kind[nameof(EvexOpCodeHandlerKind.MandatoryPrefix2)];
			var VectorLength = kind[nameof(EvexOpCodeHandlerKind.VectorLength)];
			var VectorLength_er = kind[nameof(EvexOpCodeHandlerKind.VectorLength_er)];
			var Ed_V_Ib = kind[nameof(EvexOpCodeHandlerKind.Ed_V_Ib)];
			var Ev_VX = kind[nameof(EvexOpCodeHandlerKind.Ev_VX)];
			var Ev_VX_Ib = kind[nameof(EvexOpCodeHandlerKind.Ev_VX_Ib)];
			var Gv_W_er = kind[nameof(EvexOpCodeHandlerKind.Gv_W_er)];
			var GvM_VX_Ib = kind[nameof(EvexOpCodeHandlerKind.GvM_VX_Ib)];
			var HkWIb_3 = kind[nameof(EvexOpCodeHandlerKind.HkWIb_3)];
			var HkWIb_3b = kind[nameof(EvexOpCodeHandlerKind.HkWIb_3b)];
			var HWIb = kind[nameof(EvexOpCodeHandlerKind.HWIb)];
			var KkHW_3 = kind[nameof(EvexOpCodeHandlerKind.KkHW_3)];
			var KkHW_3b = kind[nameof(EvexOpCodeHandlerKind.KkHW_3b)];
			var KkHWIb_sae_3 = kind[nameof(EvexOpCodeHandlerKind.KkHWIb_sae_3)];
			var KkHWIb_sae_3b = kind[nameof(EvexOpCodeHandlerKind.KkHWIb_sae_3b)];
			var KkHWIb_3 = kind[nameof(EvexOpCodeHandlerKind.KkHWIb_3)];
			var KkHWIb_3b = kind[nameof(EvexOpCodeHandlerKind.KkHWIb_3b)];
			var KkWIb_3 = kind[nameof(EvexOpCodeHandlerKind.KkWIb_3)];
			var KkWIb_3b = kind[nameof(EvexOpCodeHandlerKind.KkWIb_3b)];
			var KP1HW = kind[nameof(EvexOpCodeHandlerKind.KP1HW)];
			var KR = kind[nameof(EvexOpCodeHandlerKind.KR)];
			var MV = kind[nameof(EvexOpCodeHandlerKind.MV)];
			var V_H_Ev_er = kind[nameof(EvexOpCodeHandlerKind.V_H_Ev_er)];
			var V_H_Ev_Ib = kind[nameof(EvexOpCodeHandlerKind.V_H_Ev_Ib)];
			var VHM = kind[nameof(EvexOpCodeHandlerKind.VHM)];
			var VHW_3 = kind[nameof(EvexOpCodeHandlerKind.VHW_3)];
			var VHW_4 = kind[nameof(EvexOpCodeHandlerKind.VHW_4)];
			var VHWIb = kind[nameof(EvexOpCodeHandlerKind.VHWIb)];
			var VK = kind[nameof(EvexOpCodeHandlerKind.VK)];
			var Vk_VSIB = kind[nameof(EvexOpCodeHandlerKind.Vk_VSIB)];
			var VkEv_REXW_2 = kind[nameof(EvexOpCodeHandlerKind.VkEv_REXW_2)];
			var VkEv_REXW_3 = kind[nameof(EvexOpCodeHandlerKind.VkEv_REXW_3)];
			var VkHM = kind[nameof(EvexOpCodeHandlerKind.VkHM)];
			var VkHW_3 = kind[nameof(EvexOpCodeHandlerKind.VkHW_3)];
			var VkHW_3b = kind[nameof(EvexOpCodeHandlerKind.VkHW_3b)];
			var VkHW_5 = kind[nameof(EvexOpCodeHandlerKind.VkHW_5)];
			var VkHW_er_4 = kind[nameof(EvexOpCodeHandlerKind.VkHW_er_4)];
			var VkHW_er_4b = kind[nameof(EvexOpCodeHandlerKind.VkHW_er_4b)];
			var VkHWIb_3 = kind[nameof(EvexOpCodeHandlerKind.VkHWIb_3)];
			var VkHWIb_3b = kind[nameof(EvexOpCodeHandlerKind.VkHWIb_3b)];
			var VkHWIb_5 = kind[nameof(EvexOpCodeHandlerKind.VkHWIb_5)];
			var VkHWIb_er_4 = kind[nameof(EvexOpCodeHandlerKind.VkHWIb_er_4)];
			var VkHWIb_er_4b = kind[nameof(EvexOpCodeHandlerKind.VkHWIb_er_4b)];
			var VkM = kind[nameof(EvexOpCodeHandlerKind.VkM)];
			var VkW_3 = kind[nameof(EvexOpCodeHandlerKind.VkW_3)];
			var VkW_3b = kind[nameof(EvexOpCodeHandlerKind.VkW_3b)];
			var VkW_4 = kind[nameof(EvexOpCodeHandlerKind.VkW_4)];
			var VkW_4b = kind[nameof(EvexOpCodeHandlerKind.VkW_4b)];
			var VkW_er_4 = kind[nameof(EvexOpCodeHandlerKind.VkW_er_4)];
			var VkW_er_5 = kind[nameof(EvexOpCodeHandlerKind.VkW_er_5)];
			var VkW_er_6 = kind[nameof(EvexOpCodeHandlerKind.VkW_er_6)];
			var VkWIb_3 = kind[nameof(EvexOpCodeHandlerKind.VkWIb_3)];
			var VkWIb_3b = kind[nameof(EvexOpCodeHandlerKind.VkWIb_3b)];
			var VkWIb_er = kind[nameof(EvexOpCodeHandlerKind.VkWIb_er)];
			var VM = kind[nameof(EvexOpCodeHandlerKind.VM)];
			var VSIB_k1 = kind[nameof(EvexOpCodeHandlerKind.VSIB_k1)];
			var VSIB_k1_VX = kind[nameof(EvexOpCodeHandlerKind.VSIB_k1_VX)];
			var VW = kind[nameof(EvexOpCodeHandlerKind.VW)];
			var VW_er = kind[nameof(EvexOpCodeHandlerKind.VW_er)];
			var VX_Ev = kind[nameof(EvexOpCodeHandlerKind.VX_Ev)];
			var WkHV = kind[nameof(EvexOpCodeHandlerKind.WkHV)];
			var WkV_3 = kind[nameof(EvexOpCodeHandlerKind.WkV_3)];
			var WkV_4a = kind[nameof(EvexOpCodeHandlerKind.WkV_4a)];
			var WkV_4b = kind[nameof(EvexOpCodeHandlerKind.WkV_4b)];
			var WkVIb = kind[nameof(EvexOpCodeHandlerKind.WkVIb)];
			var WkVIb_er = kind[nameof(EvexOpCodeHandlerKind.WkVIb_er)];
			var WV = kind[nameof(EvexOpCodeHandlerKind.WV)];
			var VkHW_er_ur_3 = kind[nameof(EvexOpCodeHandlerKind.VkHW_er_ur_3)];
			var VkHW_er_ur_3b = kind[nameof(EvexOpCodeHandlerKind.VkHW_er_ur_3b)];

			var xmm0 = reg[nameof(Register.XMM0)];
			var ymm0 = reg[nameof(Register.YMM0)];
			var zmm0 = reg[nameof(Register.ZMM0)];

			var N1 = tuple[nameof(TupleType.N1)];
			var N2 = tuple[nameof(TupleType.N2)];
			var N4 = tuple[nameof(TupleType.N4)];
			var N8 = tuple[nameof(TupleType.N8)];
			var N16 = tuple[nameof(TupleType.N16)];
			var N32 = tuple[nameof(TupleType.N32)];
			var N64 = tuple[nameof(TupleType.N64)];
			var N8b4 = tuple[nameof(TupleType.N8b4)];
			var N16b4 = tuple[nameof(TupleType.N16b4)];
			var N32b4 = tuple[nameof(TupleType.N32b4)];
			var N64b4 = tuple[nameof(TupleType.N64b4)];
			var N16b8 = tuple[nameof(TupleType.N16b8)];
			var N32b8 = tuple[nameof(TupleType.N32b8)];
			var N64b8 = tuple[nameof(TupleType.N64b8)];
			var N4b2 = tuple[nameof(TupleType.N4b2)];
			var N8b2 = tuple[nameof(TupleType.N8b2)];
			var N16b2 = tuple[nameof(TupleType.N16b2)];
			var N32b2 = tuple[nameof(TupleType.N32b2)];
			var N64b2 = tuple[nameof(TupleType.N64b2)];

			var invalid = new object[] { kind[nameof(EvexOpCodeHandlerKind.Invalid)] };
			var handlers = new (string name, object?[] handlers)[] {
				("handlers_Grp_0F71",
				new object[8] {
					invalid,
					invalid,
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { VectorLength,
							new object[] { HkWIb_3, xmm0, code[nameof(Code.EVEX_Vpsrlw_xmm_k1z_xmmm128_imm8)], N16 },
							new object[] { HkWIb_3, ymm0, code[nameof(Code.EVEX_Vpsrlw_ymm_k1z_ymmm256_imm8)], N32 },
							new object[] { HkWIb_3, zmm0, code[nameof(Code.EVEX_Vpsrlw_zmm_k1z_zmmm512_imm8)], N64 },
						},
						invalid,
						invalid,
					},
					invalid,
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { VectorLength,
							new object[] { HkWIb_3, xmm0, code[nameof(Code.EVEX_Vpsraw_xmm_k1z_xmmm128_imm8)], N16 },
							new object[] { HkWIb_3, ymm0, code[nameof(Code.EVEX_Vpsraw_ymm_k1z_ymmm256_imm8)], N32 },
							new object[] { HkWIb_3, zmm0, code[nameof(Code.EVEX_Vpsraw_zmm_k1z_zmmm512_imm8)], N64 },
						},
						invalid,
						invalid,
					},
					invalid,
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { VectorLength,
							new object[] { HkWIb_3, xmm0, code[nameof(Code.EVEX_Vpsllw_xmm_k1z_xmmm128_imm8)], N16 },
							new object[] { HkWIb_3, ymm0, code[nameof(Code.EVEX_Vpsllw_ymm_k1z_ymmm256_imm8)], N32 },
							new object[] { HkWIb_3, zmm0, code[nameof(Code.EVEX_Vpsllw_zmm_k1z_zmmm512_imm8)], N64 },
						},
						invalid,
						invalid,
					},
					invalid,
				}),

				("handlers_Grp_0F72",
				new object[8] {
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { HkWIb_3b, xmm0, code[nameof(Code.EVEX_Vprord_xmm_k1z_xmmm128b32_imm8)], N16b4 },
								new object[] { HkWIb_3b, ymm0, code[nameof(Code.EVEX_Vprord_ymm_k1z_ymmm256b32_imm8)], N32b4 },
								new object[] { HkWIb_3b, zmm0, code[nameof(Code.EVEX_Vprord_zmm_k1z_zmmm512b32_imm8)], N64b4 },
							},
							new object[] { VectorLength,
								new object[] { HkWIb_3b, xmm0, code[nameof(Code.EVEX_Vprorq_xmm_k1z_xmmm128b64_imm8)], N16b8 },
								new object[] { HkWIb_3b, ymm0, code[nameof(Code.EVEX_Vprorq_ymm_k1z_ymmm256b64_imm8)], N32b8 },
								new object[] { HkWIb_3b, zmm0, code[nameof(Code.EVEX_Vprorq_zmm_k1z_zmmm512b64_imm8)], N64b8 },
							},
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { HkWIb_3b, xmm0, code[nameof(Code.EVEX_Vprold_xmm_k1z_xmmm128b32_imm8)], N16b4 },
								new object[] { HkWIb_3b, ymm0, code[nameof(Code.EVEX_Vprold_ymm_k1z_ymmm256b32_imm8)], N32b4 },
								new object[] { HkWIb_3b, zmm0, code[nameof(Code.EVEX_Vprold_zmm_k1z_zmmm512b32_imm8)], N64b4 },
							},
							new object[] { VectorLength,
								new object[] { HkWIb_3b, xmm0, code[nameof(Code.EVEX_Vprolq_xmm_k1z_xmmm128b64_imm8)], N16b8 },
								new object[] { HkWIb_3b, ymm0, code[nameof(Code.EVEX_Vprolq_ymm_k1z_ymmm256b64_imm8)], N32b8 },
								new object[] { HkWIb_3b, zmm0, code[nameof(Code.EVEX_Vprolq_zmm_k1z_zmmm512b64_imm8)], N64b8 },
							},
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { HkWIb_3b, xmm0, code[nameof(Code.EVEX_Vpsrld_xmm_k1z_xmmm128b32_imm8)], N16b4 },
								new object[] { HkWIb_3b, ymm0, code[nameof(Code.EVEX_Vpsrld_ymm_k1z_ymmm256b32_imm8)], N32b4 },
								new object[] { HkWIb_3b, zmm0, code[nameof(Code.EVEX_Vpsrld_zmm_k1z_zmmm512b32_imm8)], N64b4 },
							},
							invalid,
						},
						invalid,
						invalid,
					},
					invalid,
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { HkWIb_3b, xmm0, code[nameof(Code.EVEX_Vpsrad_xmm_k1z_xmmm128b32_imm8)], N16b4 },
								new object[] { HkWIb_3b, ymm0, code[nameof(Code.EVEX_Vpsrad_ymm_k1z_ymmm256b32_imm8)], N32b4 },
								new object[] { HkWIb_3b, zmm0, code[nameof(Code.EVEX_Vpsrad_zmm_k1z_zmmm512b32_imm8)], N64b4 },
							},
							new object[] { VectorLength,
								new object[] { HkWIb_3b, xmm0, code[nameof(Code.EVEX_Vpsraq_xmm_k1z_xmmm128b64_imm8)], N16b8 },
								new object[] { HkWIb_3b, ymm0, code[nameof(Code.EVEX_Vpsraq_ymm_k1z_ymmm256b64_imm8)], N32b8 },
								new object[] { HkWIb_3b, zmm0, code[nameof(Code.EVEX_Vpsraq_zmm_k1z_zmmm512b64_imm8)], N64b8 },
							},
						},
						invalid,
						invalid,
					},
					invalid,
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { HkWIb_3b, xmm0, code[nameof(Code.EVEX_Vpslld_xmm_k1z_xmmm128b32_imm8)], N16b4 },
								new object[] { HkWIb_3b, ymm0, code[nameof(Code.EVEX_Vpslld_ymm_k1z_ymmm256b32_imm8)], N32b4 },
								new object[] { HkWIb_3b, zmm0, code[nameof(Code.EVEX_Vpslld_zmm_k1z_zmmm512b32_imm8)], N64b4 },
							},
							invalid,
						},
						invalid,
						invalid,
					},
					invalid,
				}),

				("handlers_Grp_0F73",
				new object[8] {
					invalid,
					invalid,
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							invalid,
							new object[] { VectorLength,
								new object[] { HkWIb_3b, xmm0, code[nameof(Code.EVEX_Vpsrlq_xmm_k1z_xmmm128b64_imm8)], N16b8 },
								new object[] { HkWIb_3b, ymm0, code[nameof(Code.EVEX_Vpsrlq_ymm_k1z_ymmm256b64_imm8)], N32b8 },
								new object[] { HkWIb_3b, zmm0, code[nameof(Code.EVEX_Vpsrlq_zmm_k1z_zmmm512b64_imm8)], N64b8 },
							},
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { VectorLength,
							new object[] { HWIb, xmm0, code[nameof(Code.EVEX_Vpsrldq_xmm_xmmm128_imm8)], N16 },
							new object[] { HWIb, ymm0, code[nameof(Code.EVEX_Vpsrldq_ymm_ymmm256_imm8)], N32 },
							new object[] { HWIb, zmm0, code[nameof(Code.EVEX_Vpsrldq_zmm_zmmm512_imm8)], N64 },
						},
						invalid,
						invalid,
					},
					invalid,
					invalid,
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							invalid,
							new object[] { VectorLength,
								new object[] { HkWIb_3b, xmm0, code[nameof(Code.EVEX_Vpsllq_xmm_k1z_xmmm128b64_imm8)], N16b8 },
								new object[] { HkWIb_3b, ymm0, code[nameof(Code.EVEX_Vpsllq_ymm_k1z_ymmm256b64_imm8)], N32b8 },
								new object[] { HkWIb_3b, zmm0, code[nameof(Code.EVEX_Vpsllq_zmm_k1z_zmmm512b64_imm8)], N64b8 },
							},
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { VectorLength,
							new object[] { HWIb, xmm0, code[nameof(Code.EVEX_Vpslldq_xmm_xmmm128_imm8)], N16 },
							new object[] { HWIb, ymm0, code[nameof(Code.EVEX_Vpslldq_ymm_ymmm256_imm8)], N32 },
							new object[] { HWIb, zmm0, code[nameof(Code.EVEX_Vpslldq_zmm_zmmm512_imm8)], N64 },
						},
						invalid,
						invalid,
					},
				}),

				("handlers_Grp_0F38C6",
				new object[8] {
					invalid,
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								invalid,
								invalid,
								new object[] { VSIB_k1, zmm0, code[nameof(Code.EVEX_Vgatherpf0dps_vm32z_k1)], N4 },
							},
							new object[] { VectorLength,
								invalid,
								invalid,
								new object[] { VSIB_k1, ymm0, code[nameof(Code.EVEX_Vgatherpf0dpd_vm32y_k1)], N8 },
							},
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								invalid,
								invalid,
								new object[] { VSIB_k1, zmm0, code[nameof(Code.EVEX_Vgatherpf1dps_vm32z_k1)], N4 },
							},
							new object[] { VectorLength,
								invalid,
								invalid,
								new object[] { VSIB_k1, ymm0, code[nameof(Code.EVEX_Vgatherpf1dpd_vm32y_k1)], N8 },
							},
						},
						invalid,
						invalid,
					},
					invalid,
					invalid,
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								invalid,
								invalid,
								new object[] { VSIB_k1, zmm0, code[nameof(Code.EVEX_Vscatterpf0dps_vm32z_k1)], N4 },
							},
							new object[] { VectorLength,
								invalid,
								invalid,
								new object[] { VSIB_k1, ymm0, code[nameof(Code.EVEX_Vscatterpf0dpd_vm32y_k1)], N8 },
							},
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								invalid,
								invalid,
								new object[] { VSIB_k1, zmm0, code[nameof(Code.EVEX_Vscatterpf1dps_vm32z_k1)], N4 },
							},
							new object[] { VectorLength,
								invalid,
								invalid,
								new object[] { VSIB_k1, ymm0, code[nameof(Code.EVEX_Vscatterpf1dpd_vm32y_k1)], N8 },
							},
						},
						invalid,
						invalid,
					},
					invalid,
				}),

				("handlers_Grp_0F38C7",
				new object[8] {
					invalid,
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								invalid,
								invalid,
								new object[] { VSIB_k1, zmm0, code[nameof(Code.EVEX_Vgatherpf0qps_vm64z_k1)], N4 },
							},
							new object[] { VectorLength,
								invalid,
								invalid,
								new object[] { VSIB_k1, zmm0, code[nameof(Code.EVEX_Vgatherpf0qpd_vm64z_k1)], N8 },
							},
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								invalid,
								invalid,
								new object[] { VSIB_k1, zmm0, code[nameof(Code.EVEX_Vgatherpf1qps_vm64z_k1)], N4 },
							},
							new object[] { VectorLength,
								invalid,
								invalid,
								new object[] { VSIB_k1, zmm0, code[nameof(Code.EVEX_Vgatherpf1qpd_vm64z_k1)], N8 },
							},
						},
						invalid,
						invalid,
					},
					invalid,
					invalid,
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								invalid,
								invalid,
								new object[] { VSIB_k1, zmm0, code[nameof(Code.EVEX_Vscatterpf0qps_vm64z_k1)], N4 },
							},
							new object[] { VectorLength,
								invalid,
								invalid,
								new object[] { VSIB_k1, zmm0, code[nameof(Code.EVEX_Vscatterpf0qpd_vm64z_k1)], N8 },
							},
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								invalid,
								invalid,
								new object[] { VSIB_k1, zmm0, code[nameof(Code.EVEX_Vscatterpf1qps_vm64z_k1)], N4 },
							},
							new object[] { VectorLength,
								invalid,
								invalid,
								new object[] { VSIB_k1, zmm0, code[nameof(Code.EVEX_Vscatterpf1qpd_vm64z_k1)], N8 },
							},
						},
						invalid,
						invalid,
					},
					invalid,
				}),

				(Handlers_0F38,
				new object[0x100] {
					// 00
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { VectorLength,
							new object[] { VkHW_3, xmm0, code[nameof(Code.EVEX_Vpshufb_xmm_k1z_xmm_xmmm128)], N16 },
							new object[] { VkHW_3, ymm0, code[nameof(Code.EVEX_Vpshufb_ymm_k1z_ymm_ymmm256)], N32 },
							new object[] { VkHW_3, zmm0, code[nameof(Code.EVEX_Vpshufb_zmm_k1z_zmm_zmmm512)], N64 },
						},
						invalid,
						invalid,
					},
					invalid,
					invalid,
					invalid,
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { VectorLength,
							new object[] { VkHW_3, xmm0, code[nameof(Code.EVEX_Vpmaddubsw_xmm_k1z_xmm_xmmm128)], N16 },
							new object[] { VkHW_3, ymm0, code[nameof(Code.EVEX_Vpmaddubsw_ymm_k1z_ymm_ymmm256)], N32 },
							new object[] { VkHW_3, zmm0, code[nameof(Code.EVEX_Vpmaddubsw_zmm_k1z_zmm_zmmm512)], N64 },
						},
						invalid,
						invalid,
					},
					invalid,
					invalid,
					invalid,

					// 08
					invalid,
					invalid,
					invalid,
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { VectorLength,
							new object[] { VkHW_3, xmm0, code[nameof(Code.EVEX_Vpmulhrsw_xmm_k1z_xmm_xmmm128)], N16 },
							new object[] { VkHW_3, ymm0, code[nameof(Code.EVEX_Vpmulhrsw_ymm_k1z_ymm_ymmm256)], N32 },
							new object[] { VkHW_3, zmm0, code[nameof(Code.EVEX_Vpmulhrsw_zmm_k1z_zmm_zmmm512)], N64 },
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { VkHW_3b, xmm0, code[nameof(Code.EVEX_Vpermilps_xmm_k1z_xmm_xmmm128b32)], N16b4 },
								new object[] { VkHW_3b, ymm0, code[nameof(Code.EVEX_Vpermilps_ymm_k1z_ymm_ymmm256b32)], N32b4 },
								new object[] { VkHW_3b, zmm0, code[nameof(Code.EVEX_Vpermilps_zmm_k1z_zmm_zmmm512b32)], N64b4 },
							},
							invalid,
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							invalid,
							new object[] { VectorLength,
								new object[] { VkHW_3b, xmm0, code[nameof(Code.EVEX_Vpermilpd_xmm_k1z_xmm_xmmm128b64)], N16b8 },
								new object[] { VkHW_3b, ymm0, code[nameof(Code.EVEX_Vpermilpd_ymm_k1z_ymm_ymmm256b64)], N32b8 },
								new object[] { VkHW_3b, zmm0, code[nameof(Code.EVEX_Vpermilpd_zmm_k1z_zmm_zmmm512b64)], N64b8 },
							},
						},
						invalid,
						invalid,
					},
					invalid,
					invalid,

					// 10
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							invalid,
							new object[] { VectorLength,
								new object[] { VkHW_3, xmm0, code[nameof(Code.EVEX_Vpsrlvw_xmm_k1z_xmm_xmmm128)], N16 },
								new object[] { VkHW_3, ymm0, code[nameof(Code.EVEX_Vpsrlvw_ymm_k1z_ymm_ymmm256)], N32 },
								new object[] { VkHW_3, zmm0, code[nameof(Code.EVEX_Vpsrlvw_zmm_k1z_zmm_zmmm512)], N64 },
							},
						},
						new object[] { W,
							new object[] { VectorLength,
								new object[] { WkV_4a, xmm0, xmm0, code[nameof(Code.EVEX_Vpmovuswb_xmmm64_k1z_xmm)], N8 },
								new object[] { WkV_4a, xmm0, ymm0, code[nameof(Code.EVEX_Vpmovuswb_xmmm128_k1z_ymm)], N16 },
								new object[] { WkV_4a, ymm0, zmm0, code[nameof(Code.EVEX_Vpmovuswb_ymmm256_k1z_zmm)], N32 },
							},
							invalid,
						},
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							invalid,
							new object[] { VectorLength,
								new object[] { VkHW_3, xmm0, code[nameof(Code.EVEX_Vpsravw_xmm_k1z_xmm_xmmm128)], N16 },
								new object[] { VkHW_3, ymm0, code[nameof(Code.EVEX_Vpsravw_ymm_k1z_ymm_ymmm256)], N32 },
								new object[] { VkHW_3, zmm0, code[nameof(Code.EVEX_Vpsravw_zmm_k1z_zmm_zmmm512)], N64 },
							},
						},
						new object[] { W,
							new object[] { VectorLength,
								new object[] { WkV_4a, xmm0, xmm0, code[nameof(Code.EVEX_Vpmovusdb_xmmm32_k1z_xmm)], N4 },
								new object[] { WkV_4a, xmm0, ymm0, code[nameof(Code.EVEX_Vpmovusdb_xmmm64_k1z_ymm)], N8 },
								new object[] { WkV_4a, xmm0, zmm0, code[nameof(Code.EVEX_Vpmovusdb_xmmm128_k1z_zmm)], N16 },
							},
							invalid,
						},
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							invalid,
							new object[] { VectorLength,
								new object[] { VkHW_3, xmm0, code[nameof(Code.EVEX_Vpsllvw_xmm_k1z_xmm_xmmm128)], N16 },
								new object[] { VkHW_3, ymm0, code[nameof(Code.EVEX_Vpsllvw_ymm_k1z_ymm_ymmm256)], N32 },
								new object[] { VkHW_3, zmm0, code[nameof(Code.EVEX_Vpsllvw_zmm_k1z_zmm_zmmm512)], N64 },
							},
						},
						new object[] { W,
							new object[] { VectorLength,
								new object[] { WkV_4a, xmm0, xmm0, code[nameof(Code.EVEX_Vpmovusqb_xmmm16_k1z_xmm)], N2 },
								new object[] { WkV_4a, xmm0, ymm0, code[nameof(Code.EVEX_Vpmovusqb_xmmm32_k1z_ymm)], N4 },
								new object[] { WkV_4a, xmm0, zmm0, code[nameof(Code.EVEX_Vpmovusqb_xmmm64_k1z_zmm)], N8 },
							},
							invalid,
						},
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength_er,
								new object[] { VkW_er_6, xmm0, xmm0, code[nameof(Code.EVEX_Vcvtph2ps_xmm_k1z_xmmm64)], N8, true, false },
								new object[] { VkW_er_6, ymm0, xmm0, code[nameof(Code.EVEX_Vcvtph2ps_ymm_k1z_xmmm128)], N16, true, false },
								new object[] { VkW_er_6, zmm0, ymm0, code[nameof(Code.EVEX_Vcvtph2ps_zmm_k1z_ymmm256_sae)], N32, true, false },
							},
							invalid,
						},
						new object[] { W,
							new object[] { VectorLength,
								new object[] { WkV_4a, xmm0, xmm0, code[nameof(Code.EVEX_Vpmovusdw_xmmm64_k1z_xmm)], N8 },
								new object[] { WkV_4a, xmm0, ymm0, code[nameof(Code.EVEX_Vpmovusdw_xmmm128_k1z_ymm)], N16 },
								new object[] { WkV_4a, ymm0, zmm0, code[nameof(Code.EVEX_Vpmovusdw_ymmm256_k1z_zmm)], N32 },
							},
							invalid,
						},
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { VkHW_3b, xmm0, code[nameof(Code.EVEX_Vprorvd_xmm_k1z_xmm_xmmm128b32)], N16b4 },
								new object[] { VkHW_3b, ymm0, code[nameof(Code.EVEX_Vprorvd_ymm_k1z_ymm_ymmm256b32)], N32b4 },
								new object[] { VkHW_3b, zmm0, code[nameof(Code.EVEX_Vprorvd_zmm_k1z_zmm_zmmm512b32)], N64b4 },
							},
							new object[] { VectorLength,
								new object[] { VkHW_3b, xmm0, code[nameof(Code.EVEX_Vprorvq_xmm_k1z_xmm_xmmm128b64)], N16b8 },
								new object[] { VkHW_3b, ymm0, code[nameof(Code.EVEX_Vprorvq_ymm_k1z_ymm_ymmm256b64)], N32b8 },
								new object[] { VkHW_3b, zmm0, code[nameof(Code.EVEX_Vprorvq_zmm_k1z_zmm_zmmm512b64)], N64b8 },
							},
						},
						new object[] { W,
							new object[] { VectorLength,
								new object[] { WkV_4a, xmm0, xmm0, code[nameof(Code.EVEX_Vpmovusqw_xmmm32_k1z_xmm)], N4 },
								new object[] { WkV_4a, xmm0, ymm0, code[nameof(Code.EVEX_Vpmovusqw_xmmm64_k1z_ymm)], N8 },
								new object[] { WkV_4a, xmm0, zmm0, code[nameof(Code.EVEX_Vpmovusqw_xmmm128_k1z_zmm)], N16 },
							},
							invalid,
						},
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { VkHW_3b, xmm0, code[nameof(Code.EVEX_Vprolvd_xmm_k1z_xmm_xmmm128b32)], N16b4 },
								new object[] { VkHW_3b, ymm0, code[nameof(Code.EVEX_Vprolvd_ymm_k1z_ymm_ymmm256b32)], N32b4 },
								new object[] { VkHW_3b, zmm0, code[nameof(Code.EVEX_Vprolvd_zmm_k1z_zmm_zmmm512b32)], N64b4 },
							},
							new object[] { VectorLength,
								new object[] { VkHW_3b, xmm0, code[nameof(Code.EVEX_Vprolvq_xmm_k1z_xmm_xmmm128b64)], N16b8 },
								new object[] { VkHW_3b, ymm0, code[nameof(Code.EVEX_Vprolvq_ymm_k1z_ymm_ymmm256b64)], N32b8 },
								new object[] { VkHW_3b, zmm0, code[nameof(Code.EVEX_Vprolvq_zmm_k1z_zmm_zmmm512b64)], N64b8 },
							},
						},
						new object[] { W,
							new object[] { VectorLength,
								new object[] { WkV_4a, xmm0, xmm0, code[nameof(Code.EVEX_Vpmovusqd_xmmm64_k1z_xmm)], N8 },
								new object[] { WkV_4a, xmm0, ymm0, code[nameof(Code.EVEX_Vpmovusqd_xmmm128_k1z_ymm)], N16 },
								new object[] { WkV_4a, ymm0, zmm0, code[nameof(Code.EVEX_Vpmovusqd_ymmm256_k1z_zmm)], N32 },
							},
							invalid,
						},
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								invalid,
								new object[] { VkHW_3b, ymm0, code[nameof(Code.EVEX_Vpermps_ymm_k1z_ymm_ymmm256b32)], N32b4 },
								new object[] { VkHW_3b, zmm0, code[nameof(Code.EVEX_Vpermps_zmm_k1z_zmm_zmmm512b32)], N64b4 },
							},
							new object[] { VectorLength,
								invalid,
								new object[] { VkHW_3b, ymm0, code[nameof(Code.EVEX_Vpermpd_ymm_k1z_ymm_ymmm256b64)], N32b8 },
								new object[] { VkHW_3b, zmm0, code[nameof(Code.EVEX_Vpermpd_zmm_k1z_zmm_zmmm512b64)], N64b8 },
							},
						},
						invalid,
						invalid,
					},
					invalid,

					// 18
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { VkW_4, xmm0, xmm0, code[nameof(Code.EVEX_Vbroadcastss_xmm_k1z_xmmm32)], N4 },
								new object[] { VkW_4, ymm0, xmm0, code[nameof(Code.EVEX_Vbroadcastss_ymm_k1z_xmmm32)], N4 },
								new object[] { VkW_4, zmm0, xmm0, code[nameof(Code.EVEX_Vbroadcastss_zmm_k1z_xmmm32)], N4 },
							},
							invalid,
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								invalid,
								new object[] { VkW_4, ymm0, xmm0, code[nameof(Code.EVEX_Vbroadcastf32x2_ymm_k1z_xmmm64)], N8 },
								new object[] { VkW_4, zmm0, xmm0, code[nameof(Code.EVEX_Vbroadcastf32x2_zmm_k1z_xmmm64)], N8 },
							},
							new object[] { VectorLength,
								invalid,
								new object[] { VkW_4, ymm0, xmm0, code[nameof(Code.EVEX_Vbroadcastsd_ymm_k1z_xmmm64)], N8 },
								new object[] { VkW_4, zmm0, xmm0, code[nameof(Code.EVEX_Vbroadcastsd_zmm_k1z_xmmm64)], N8 },
							},
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								invalid,
								new object[] { VkM, ymm0, code[nameof(Code.EVEX_Vbroadcastf32x4_ymm_k1z_m128)], N16 },
								new object[] { VkM, zmm0, code[nameof(Code.EVEX_Vbroadcastf32x4_zmm_k1z_m128)], N16 },
							},
							new object[] { VectorLength,
								invalid,
								new object[] { VkM, ymm0, code[nameof(Code.EVEX_Vbroadcastf64x2_ymm_k1z_m128)], N16 },
								new object[] { VkM, zmm0, code[nameof(Code.EVEX_Vbroadcastf64x2_zmm_k1z_m128)], N16 },
							},
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								invalid,
								invalid,
								new object[] { VkM, zmm0, code[nameof(Code.EVEX_Vbroadcastf32x8_zmm_k1z_m256)], N32 },
							},
							new object[] { VectorLength,
								invalid,
								invalid,
								new object[] { VkM, zmm0, code[nameof(Code.EVEX_Vbroadcastf64x4_zmm_k1z_m256)], N32 },
							},
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { VectorLength,
							new object[] { VkW_3, xmm0, code[nameof(Code.EVEX_Vpabsb_xmm_k1z_xmmm128)], N16 },
							new object[] { VkW_3, ymm0, code[nameof(Code.EVEX_Vpabsb_ymm_k1z_ymmm256)], N32 },
							new object[] { VkW_3, zmm0, code[nameof(Code.EVEX_Vpabsb_zmm_k1z_zmmm512)], N64 },
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { VectorLength,
							new object[] { VkW_3, xmm0, code[nameof(Code.EVEX_Vpabsw_xmm_k1z_xmmm128)], N16 },
							new object[] { VkW_3, ymm0, code[nameof(Code.EVEX_Vpabsw_ymm_k1z_ymmm256)], N32 },
							new object[] { VkW_3, zmm0, code[nameof(Code.EVEX_Vpabsw_zmm_k1z_zmmm512)], N64 },
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { VkW_3b, xmm0, code[nameof(Code.EVEX_Vpabsd_xmm_k1z_xmmm128b32)], N16b4 },
								new object[] { VkW_3b, ymm0, code[nameof(Code.EVEX_Vpabsd_ymm_k1z_ymmm256b32)], N32b4 },
								new object[] { VkW_3b, zmm0, code[nameof(Code.EVEX_Vpabsd_zmm_k1z_zmmm512b32)], N64b4 },
							},
							invalid,
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							invalid,
							new object[] { VectorLength,
								new object[] { VkW_3b, xmm0, code[nameof(Code.EVEX_Vpabsq_xmm_k1z_xmmm128b64)], N16b8 },
								new object[] { VkW_3b, ymm0, code[nameof(Code.EVEX_Vpabsq_ymm_k1z_ymmm256b64)], N32b8 },
								new object[] { VkW_3b, zmm0, code[nameof(Code.EVEX_Vpabsq_zmm_k1z_zmmm512b64)], N64b8 },
							},
						},
						invalid,
						invalid,
					},

					// 20
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { VectorLength,
							new object[] { VkW_4, xmm0, xmm0, code[nameof(Code.EVEX_Vpmovsxbw_xmm_k1z_xmmm64)], N8 },
							new object[] { VkW_4, ymm0, xmm0, code[nameof(Code.EVEX_Vpmovsxbw_ymm_k1z_xmmm128)], N16 },
							new object[] { VkW_4, zmm0, ymm0, code[nameof(Code.EVEX_Vpmovsxbw_zmm_k1z_ymmm256)], N32 },
						},
						new object[] { W,
							new object[] { VectorLength,
								new object[] { WkV_4a, xmm0, xmm0, code[nameof(Code.EVEX_Vpmovswb_xmmm64_k1z_xmm)], N8 },
								new object[] { WkV_4a, xmm0, ymm0, code[nameof(Code.EVEX_Vpmovswb_xmmm128_k1z_ymm)], N16 },
								new object[] { WkV_4a, ymm0, zmm0, code[nameof(Code.EVEX_Vpmovswb_ymmm256_k1z_zmm)], N32 },
							},
							invalid,
						},
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { VectorLength,
							new object[] { VkW_4, xmm0, xmm0, code[nameof(Code.EVEX_Vpmovsxbd_xmm_k1z_xmmm32)], N4 },
							new object[] { VkW_4, ymm0, xmm0, code[nameof(Code.EVEX_Vpmovsxbd_ymm_k1z_xmmm64)], N8 },
							new object[] { VkW_4, zmm0, xmm0, code[nameof(Code.EVEX_Vpmovsxbd_zmm_k1z_xmmm128)], N16 },
						},
						new object[] { W,
							new object[] { VectorLength,
								new object[] { WkV_4a, xmm0, xmm0, code[nameof(Code.EVEX_Vpmovsdb_xmmm32_k1z_xmm)], N4 },
								new object[] { WkV_4a, xmm0, ymm0, code[nameof(Code.EVEX_Vpmovsdb_xmmm64_k1z_ymm)], N8 },
								new object[] { WkV_4a, xmm0, zmm0, code[nameof(Code.EVEX_Vpmovsdb_xmmm128_k1z_zmm)], N16 },
							},
							invalid,
						},
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { VectorLength,
							new object[] { VkW_4, xmm0, xmm0, code[nameof(Code.EVEX_Vpmovsxbq_xmm_k1z_xmmm16)], N2 },
							new object[] { VkW_4, ymm0, xmm0, code[nameof(Code.EVEX_Vpmovsxbq_ymm_k1z_xmmm32)], N4 },
							new object[] { VkW_4, zmm0, xmm0, code[nameof(Code.EVEX_Vpmovsxbq_zmm_k1z_xmmm64)], N8 },
						},
						new object[] { W,
							new object[] { VectorLength,
								new object[] { WkV_4a, xmm0, xmm0, code[nameof(Code.EVEX_Vpmovsqb_xmmm16_k1z_xmm)], N2 },
								new object[] { WkV_4a, xmm0, ymm0, code[nameof(Code.EVEX_Vpmovsqb_xmmm32_k1z_ymm)], N4 },
								new object[] { WkV_4a, xmm0, zmm0, code[nameof(Code.EVEX_Vpmovsqb_xmmm64_k1z_zmm)], N8 },
							},
							invalid,
						},
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { VectorLength,
							new object[] { VkW_4, xmm0, xmm0, code[nameof(Code.EVEX_Vpmovsxwd_xmm_k1z_xmmm64)], N8 },
							new object[] { VkW_4, ymm0, xmm0, code[nameof(Code.EVEX_Vpmovsxwd_ymm_k1z_xmmm128)], N16 },
							new object[] { VkW_4, zmm0, ymm0, code[nameof(Code.EVEX_Vpmovsxwd_zmm_k1z_ymmm256)], N32 },
						},
						new object[] { W,
							new object[] { VectorLength,
								new object[] { WkV_4a, xmm0, xmm0, code[nameof(Code.EVEX_Vpmovsdw_xmmm64_k1z_xmm)], N8 },
								new object[] { WkV_4a, xmm0, ymm0, code[nameof(Code.EVEX_Vpmovsdw_xmmm128_k1z_ymm)], N16 },
								new object[] { WkV_4a, ymm0, zmm0, code[nameof(Code.EVEX_Vpmovsdw_ymmm256_k1z_zmm)], N32 },
							},
							invalid,
						},
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { VectorLength,
							new object[] { VkW_4, xmm0, xmm0, code[nameof(Code.EVEX_Vpmovsxwq_xmm_k1z_xmmm32)], N4 },
							new object[] { VkW_4, ymm0, xmm0, code[nameof(Code.EVEX_Vpmovsxwq_ymm_k1z_xmmm64)], N8 },
							new object[] { VkW_4, zmm0, xmm0, code[nameof(Code.EVEX_Vpmovsxwq_zmm_k1z_xmmm128)], N16 },
						},
						new object[] { W,
							new object[] { VectorLength,
								new object[] { WkV_4a, xmm0, xmm0, code[nameof(Code.EVEX_Vpmovsqw_xmmm32_k1z_xmm)], N4 },
								new object[] { WkV_4a, xmm0, ymm0, code[nameof(Code.EVEX_Vpmovsqw_xmmm64_k1z_ymm)], N8 },
								new object[] { WkV_4a, xmm0, zmm0, code[nameof(Code.EVEX_Vpmovsqw_xmmm128_k1z_zmm)], N16 },
							},
							invalid,
						},
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { VkW_4, xmm0, xmm0, code[nameof(Code.EVEX_Vpmovsxdq_xmm_k1z_xmmm64)], N8 },
								new object[] { VkW_4, ymm0, xmm0, code[nameof(Code.EVEX_Vpmovsxdq_ymm_k1z_xmmm128)], N16 },
								new object[] { VkW_4, zmm0, ymm0, code[nameof(Code.EVEX_Vpmovsxdq_zmm_k1z_ymmm256)], N32 },
							},
							invalid,
						},
						new object[] { W,
							new object[] { VectorLength,
								new object[] { WkV_4a, xmm0, xmm0, code[nameof(Code.EVEX_Vpmovsqd_xmmm64_k1z_xmm)], N8 },
								new object[] { WkV_4a, xmm0, ymm0, code[nameof(Code.EVEX_Vpmovsqd_xmmm128_k1z_ymm)], N16 },
								new object[] { WkV_4a, ymm0, zmm0, code[nameof(Code.EVEX_Vpmovsqd_ymmm256_k1z_zmm)], N32 },
							},
							invalid,
						},
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { KkHW_3, xmm0, code[nameof(Code.EVEX_Vptestmb_kr_k1_xmm_xmmm128)], N16 },
								new object[] { KkHW_3, ymm0, code[nameof(Code.EVEX_Vptestmb_kr_k1_ymm_ymmm256)], N32 },
								new object[] { KkHW_3, zmm0, code[nameof(Code.EVEX_Vptestmb_kr_k1_zmm_zmmm512)], N64 },
							},
							new object[] { VectorLength,
								new object[] { KkHW_3, xmm0, code[nameof(Code.EVEX_Vptestmw_kr_k1_xmm_xmmm128)], N16 },
								new object[] { KkHW_3, ymm0, code[nameof(Code.EVEX_Vptestmw_kr_k1_ymm_ymmm256)], N32 },
								new object[] { KkHW_3, zmm0, code[nameof(Code.EVEX_Vptestmw_kr_k1_zmm_zmmm512)], N64 },
							},
						},
						new object[] { W,
							new object[] { VectorLength,
								new object[] { KkHW_3, xmm0, code[nameof(Code.EVEX_Vptestnmb_kr_k1_xmm_xmmm128)], N16 },
								new object[] { KkHW_3, ymm0, code[nameof(Code.EVEX_Vptestnmb_kr_k1_ymm_ymmm256)], N32 },
								new object[] { KkHW_3, zmm0, code[nameof(Code.EVEX_Vptestnmb_kr_k1_zmm_zmmm512)], N64 },
							},
							new object[] { VectorLength,
								new object[] { KkHW_3, xmm0, code[nameof(Code.EVEX_Vptestnmw_kr_k1_xmm_xmmm128)], N16 },
								new object[] { KkHW_3, ymm0, code[nameof(Code.EVEX_Vptestnmw_kr_k1_ymm_ymmm256)], N32 },
								new object[] { KkHW_3, zmm0, code[nameof(Code.EVEX_Vptestnmw_kr_k1_zmm_zmmm512)], N64 },
							},
						},
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { KkHW_3b, xmm0, code[nameof(Code.EVEX_Vptestmd_kr_k1_xmm_xmmm128b32)], N16b4 },
								new object[] { KkHW_3b, ymm0, code[nameof(Code.EVEX_Vptestmd_kr_k1_ymm_ymmm256b32)], N32b4 },
								new object[] { KkHW_3b, zmm0, code[nameof(Code.EVEX_Vptestmd_kr_k1_zmm_zmmm512b32)], N64b4 },
							},
							new object[] { VectorLength,
								new object[] { KkHW_3b, xmm0, code[nameof(Code.EVEX_Vptestmq_kr_k1_xmm_xmmm128b64)], N16b8 },
								new object[] { KkHW_3b, ymm0, code[nameof(Code.EVEX_Vptestmq_kr_k1_ymm_ymmm256b64)], N32b8 },
								new object[] { KkHW_3b, zmm0, code[nameof(Code.EVEX_Vptestmq_kr_k1_zmm_zmmm512b64)], N64b8 },
							},
						},
						new object[] { W,
							new object[] { VectorLength,
								new object[] { KkHW_3b, xmm0, code[nameof(Code.EVEX_Vptestnmd_kr_k1_xmm_xmmm128b32)], N16b4 },
								new object[] { KkHW_3b, ymm0, code[nameof(Code.EVEX_Vptestnmd_kr_k1_ymm_ymmm256b32)], N32b4 },
								new object[] { KkHW_3b, zmm0, code[nameof(Code.EVEX_Vptestnmd_kr_k1_zmm_zmmm512b32)], N64b4 },
							},
							new object[] { VectorLength,
								new object[] { KkHW_3b, xmm0, code[nameof(Code.EVEX_Vptestnmq_kr_k1_xmm_xmmm128b64)], N16b8 },
								new object[] { KkHW_3b, ymm0, code[nameof(Code.EVEX_Vptestnmq_kr_k1_ymm_ymmm256b64)], N32b8 },
								new object[] { KkHW_3b, zmm0, code[nameof(Code.EVEX_Vptestnmq_kr_k1_zmm_zmmm512b64)], N64b8 },
							},
						},
						invalid,
					},

					// 28
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							invalid,
							new object[] { VectorLength,
								new object[] { VkHW_3b, xmm0, code[nameof(Code.EVEX_Vpmuldq_xmm_k1z_xmm_xmmm128b64)], N16b8 },
								new object[] { VkHW_3b, ymm0, code[nameof(Code.EVEX_Vpmuldq_ymm_k1z_ymm_ymmm256b64)], N32b8 },
								new object[] { VkHW_3b, zmm0, code[nameof(Code.EVEX_Vpmuldq_zmm_k1z_zmm_zmmm512b64)], N64b8 },
							},
						},
						new object[] { W,
							new object[] { VectorLength,
								new object[] { VK, xmm0, code[nameof(Code.EVEX_Vpmovm2b_xmm_kr)] },
								new object[] { VK, ymm0, code[nameof(Code.EVEX_Vpmovm2b_ymm_kr)] },
								new object[] { VK, zmm0, code[nameof(Code.EVEX_Vpmovm2b_zmm_kr)] },
							},
							new object[] { VectorLength,
								new object[] { VK, xmm0, code[nameof(Code.EVEX_Vpmovm2w_xmm_kr)] },
								new object[] { VK, ymm0, code[nameof(Code.EVEX_Vpmovm2w_ymm_kr)] },
								new object[] { VK, zmm0, code[nameof(Code.EVEX_Vpmovm2w_zmm_kr)] },
							},
						},
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							invalid,
							new object[] { VectorLength,
								new object[] { KkHW_3b, xmm0, code[nameof(Code.EVEX_Vpcmpeqq_kr_k1_xmm_xmmm128b64)], N16b8 },
								new object[] { KkHW_3b, ymm0, code[nameof(Code.EVEX_Vpcmpeqq_kr_k1_ymm_ymmm256b64)], N32b8 },
								new object[] { KkHW_3b, zmm0, code[nameof(Code.EVEX_Vpcmpeqq_kr_k1_zmm_zmmm512b64)], N64b8 },
							},
						},
						new object[] { W,
							new object[] { VectorLength,
								new object[] { KR, xmm0, code[nameof(Code.EVEX_Vpmovb2m_kr_xmm)] },
								new object[] { KR, ymm0, code[nameof(Code.EVEX_Vpmovb2m_kr_ymm)] },
								new object[] { KR, zmm0, code[nameof(Code.EVEX_Vpmovb2m_kr_zmm)] },
							},
							new object[] { VectorLength,
								new object[] { KR, xmm0, code[nameof(Code.EVEX_Vpmovw2m_kr_xmm)] },
								new object[] { KR, ymm0, code[nameof(Code.EVEX_Vpmovw2m_kr_ymm)] },
								new object[] { KR, zmm0, code[nameof(Code.EVEX_Vpmovw2m_kr_zmm)] },
							},
						},
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { VM, xmm0, code[nameof(Code.EVEX_Vmovntdqa_xmm_m128)], N16 },
								new object[] { VM, ymm0, code[nameof(Code.EVEX_Vmovntdqa_ymm_m256)], N32 },
								new object[] { VM, zmm0, code[nameof(Code.EVEX_Vmovntdqa_zmm_m512)], N64 },
							},
							invalid,
						},
						new object[] { W,
							invalid,
							new object[] { VectorLength,
								new object[] { VK, xmm0, code[nameof(Code.EVEX_Vpbroadcastmb2q_xmm_kr)] },
								new object[] { VK, ymm0, code[nameof(Code.EVEX_Vpbroadcastmb2q_ymm_kr)] },
								new object[] { VK, zmm0, code[nameof(Code.EVEX_Vpbroadcastmb2q_zmm_kr)] },
							},
						},
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { VkHW_3b, xmm0, code[nameof(Code.EVEX_Vpackusdw_xmm_k1z_xmm_xmmm128b32)], N16b4 },
								new object[] { VkHW_3b, ymm0, code[nameof(Code.EVEX_Vpackusdw_ymm_k1z_ymm_ymmm256b32)], N32b4 },
								new object[] { VkHW_3b, zmm0, code[nameof(Code.EVEX_Vpackusdw_zmm_k1z_zmm_zmmm512b32)], N64b4 },
							},
							invalid,
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength_er,
								new object[] { VkHW_er_4b, xmm0, code[nameof(Code.EVEX_Vscalefps_xmm_k1z_xmm_xmmm128b32)], N16b4, false },
								new object[] { VkHW_er_4b, ymm0, code[nameof(Code.EVEX_Vscalefps_ymm_k1z_ymm_ymmm256b32)], N32b4, false },
								new object[] { VkHW_er_4b, zmm0, code[nameof(Code.EVEX_Vscalefps_zmm_k1z_zmm_zmmm512b32_er)], N64b4, false },
							},
							new object[] { VectorLength_er,
								new object[] { VkHW_er_4b, xmm0, code[nameof(Code.EVEX_Vscalefpd_xmm_k1z_xmm_xmmm128b64)], N16b8, false },
								new object[] { VkHW_er_4b, ymm0, code[nameof(Code.EVEX_Vscalefpd_ymm_k1z_ymm_ymmm256b64)], N32b8, false },
								new object[] { VkHW_er_4b, zmm0, code[nameof(Code.EVEX_Vscalefpd_zmm_k1z_zmm_zmmm512b64_er)], N64b8, false },
							},
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VkHW_er_4, xmm0, code[nameof(Code.EVEX_Vscalefss_xmm_k1z_xmm_xmmm32_er)], N4, false },
							new object[] { VkHW_er_4, xmm0, code[nameof(Code.EVEX_Vscalefsd_xmm_k1z_xmm_xmmm64_er)], N8, false },
						},
						invalid,
						invalid,
					},
					invalid,
					invalid,

					// 30
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { VectorLength,
							new object[] { VkW_4, xmm0, xmm0, code[nameof(Code.EVEX_Vpmovzxbw_xmm_k1z_xmmm64)], N8 },
							new object[] { VkW_4, ymm0, xmm0, code[nameof(Code.EVEX_Vpmovzxbw_ymm_k1z_xmmm128)], N16 },
							new object[] { VkW_4, zmm0, ymm0, code[nameof(Code.EVEX_Vpmovzxbw_zmm_k1z_ymmm256)], N32 },
						},
						new object[] { W,
							new object[] { VectorLength,
								new object[] { WkV_4a, xmm0, xmm0, code[nameof(Code.EVEX_Vpmovwb_xmmm64_k1z_xmm)], N8 },
								new object[] { WkV_4a, xmm0, ymm0, code[nameof(Code.EVEX_Vpmovwb_xmmm128_k1z_ymm)], N16 },
								new object[] { WkV_4a, ymm0, zmm0, code[nameof(Code.EVEX_Vpmovwb_ymmm256_k1z_zmm)], N32 },
							},
							invalid,
						},
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { VectorLength,
							new object[] { VkW_4, xmm0, xmm0, code[nameof(Code.EVEX_Vpmovzxbd_xmm_k1z_xmmm32)], N4 },
							new object[] { VkW_4, ymm0, xmm0, code[nameof(Code.EVEX_Vpmovzxbd_ymm_k1z_xmmm64)], N8 },
							new object[] { VkW_4, zmm0, xmm0, code[nameof(Code.EVEX_Vpmovzxbd_zmm_k1z_xmmm128)], N16 },
						},
						new object[] { W,
							new object[] { VectorLength,
								new object[] { WkV_4a, xmm0, xmm0, code[nameof(Code.EVEX_Vpmovdb_xmmm32_k1z_xmm)], N4 },
								new object[] { WkV_4a, xmm0, ymm0, code[nameof(Code.EVEX_Vpmovdb_xmmm64_k1z_ymm)], N8 },
								new object[] { WkV_4a, xmm0, zmm0, code[nameof(Code.EVEX_Vpmovdb_xmmm128_k1z_zmm)], N16 },
							},
							invalid,
						},
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { VectorLength,
							new object[] { VkW_4, xmm0, xmm0, code[nameof(Code.EVEX_Vpmovzxbq_xmm_k1z_xmmm16)], N2 },
							new object[] { VkW_4, ymm0, xmm0, code[nameof(Code.EVEX_Vpmovzxbq_ymm_k1z_xmmm32)], N4 },
							new object[] { VkW_4, zmm0, xmm0, code[nameof(Code.EVEX_Vpmovzxbq_zmm_k1z_xmmm64)], N8 },
						},
						new object[] { W,
							new object[] { VectorLength,
								new object[] { WkV_4a, xmm0, xmm0, code[nameof(Code.EVEX_Vpmovqb_xmmm16_k1z_xmm)], N2 },
								new object[] { WkV_4a, xmm0, ymm0, code[nameof(Code.EVEX_Vpmovqb_xmmm32_k1z_ymm)], N4 },
								new object[] { WkV_4a, xmm0, zmm0, code[nameof(Code.EVEX_Vpmovqb_xmmm64_k1z_zmm)], N8 },
							},
							invalid,
						},
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { VectorLength,
							new object[] { VkW_4, xmm0, xmm0, code[nameof(Code.EVEX_Vpmovzxwd_xmm_k1z_xmmm64)], N8 },
							new object[] { VkW_4, ymm0, xmm0, code[nameof(Code.EVEX_Vpmovzxwd_ymm_k1z_xmmm128)], N16 },
							new object[] { VkW_4, zmm0, ymm0, code[nameof(Code.EVEX_Vpmovzxwd_zmm_k1z_ymmm256)], N32 },
						},
						new object[] { W,
							new object[] { VectorLength,
								new object[] { WkV_4a, xmm0, xmm0, code[nameof(Code.EVEX_Vpmovdw_xmmm64_k1z_xmm)], N8 },
								new object[] { WkV_4a, xmm0, ymm0, code[nameof(Code.EVEX_Vpmovdw_xmmm128_k1z_ymm)], N16 },
								new object[] { WkV_4a, ymm0, zmm0, code[nameof(Code.EVEX_Vpmovdw_ymmm256_k1z_zmm)], N32 },
							},
							invalid,
						},
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { VectorLength,
							new object[] { VkW_4, xmm0, xmm0, code[nameof(Code.EVEX_Vpmovzxwq_xmm_k1z_xmmm32)], N4 },
							new object[] { VkW_4, ymm0, xmm0, code[nameof(Code.EVEX_Vpmovzxwq_ymm_k1z_xmmm64)], N8 },
							new object[] { VkW_4, zmm0, xmm0, code[nameof(Code.EVEX_Vpmovzxwq_zmm_k1z_xmmm128)], N16 },
						},
						new object[] { W,
							new object[] { VectorLength,
								new object[] { WkV_4a, xmm0, xmm0, code[nameof(Code.EVEX_Vpmovqw_xmmm32_k1z_xmm)], N4 },
								new object[] { WkV_4a, xmm0, ymm0, code[nameof(Code.EVEX_Vpmovqw_xmmm64_k1z_ymm)], N8 },
								new object[] { WkV_4a, xmm0, zmm0, code[nameof(Code.EVEX_Vpmovqw_xmmm128_k1z_zmm)], N16 },
							},
							invalid,
						},
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { VkW_4, xmm0, xmm0, code[nameof(Code.EVEX_Vpmovzxdq_xmm_k1z_xmmm64)], N8 },
								new object[] { VkW_4, ymm0, xmm0, code[nameof(Code.EVEX_Vpmovzxdq_ymm_k1z_xmmm128)], N16 },
								new object[] { VkW_4, zmm0, ymm0, code[nameof(Code.EVEX_Vpmovzxdq_zmm_k1z_ymmm256)], N32 },
							},
							invalid,
						},
						new object[] { W,
							new object[] { VectorLength,
								new object[] { WkV_4a, xmm0, xmm0, code[nameof(Code.EVEX_Vpmovqd_xmmm64_k1z_xmm)], N8 },
								new object[] { WkV_4a, xmm0, ymm0, code[nameof(Code.EVEX_Vpmovqd_xmmm128_k1z_ymm)], N16 },
								new object[] { WkV_4a, ymm0, zmm0, code[nameof(Code.EVEX_Vpmovqd_ymmm256_k1z_zmm)], N32 },
							},
							invalid,
						},
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								invalid,
								new object[] { VkHW_3b, ymm0, code[nameof(Code.EVEX_Vpermd_ymm_k1z_ymm_ymmm256b32)], N32b4 },
								new object[] { VkHW_3b, zmm0, code[nameof(Code.EVEX_Vpermd_zmm_k1z_zmm_zmmm512b32)], N64b4 },
							},
							new object[] { VectorLength,
								invalid,
								new object[] { VkHW_3b, ymm0, code[nameof(Code.EVEX_Vpermq_ymm_k1z_ymm_ymmm256b64)], N32b8 },
								new object[] { VkHW_3b, zmm0, code[nameof(Code.EVEX_Vpermq_zmm_k1z_zmm_zmmm512b64)], N64b8 },
							},
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							invalid,
							new object[] { VectorLength,
								new object[] { KkHW_3b, xmm0, code[nameof(Code.EVEX_Vpcmpgtq_kr_k1_xmm_xmmm128b64)], N16b8 },
								new object[] { KkHW_3b, ymm0, code[nameof(Code.EVEX_Vpcmpgtq_kr_k1_ymm_ymmm256b64)], N32b8 },
								new object[] { KkHW_3b, zmm0, code[nameof(Code.EVEX_Vpcmpgtq_kr_k1_zmm_zmmm512b64)], N64b8 },
							},
						},
						invalid,
						invalid,
					},

					// 38
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { VectorLength,
							new object[] { VkHW_3, xmm0, code[nameof(Code.EVEX_Vpminsb_xmm_k1z_xmm_xmmm128)], N16 },
							new object[] { VkHW_3, ymm0, code[nameof(Code.EVEX_Vpminsb_ymm_k1z_ymm_ymmm256)], N32 },
							new object[] { VkHW_3, zmm0, code[nameof(Code.EVEX_Vpminsb_zmm_k1z_zmm_zmmm512)], N64 },
						},
						new object[] { W,
							new object[] { VectorLength,
								new object[] { VK, xmm0, code[nameof(Code.EVEX_Vpmovm2d_xmm_kr)] },
								new object[] { VK, ymm0, code[nameof(Code.EVEX_Vpmovm2d_ymm_kr)] },
								new object[] { VK, zmm0, code[nameof(Code.EVEX_Vpmovm2d_zmm_kr)] },
							},
							new object[] { VectorLength,
								new object[] { VK, xmm0, code[nameof(Code.EVEX_Vpmovm2q_xmm_kr)] },
								new object[] { VK, ymm0, code[nameof(Code.EVEX_Vpmovm2q_ymm_kr)] },
								new object[] { VK, zmm0, code[nameof(Code.EVEX_Vpmovm2q_zmm_kr)] },
							},
						},
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { VkHW_3b, xmm0, code[nameof(Code.EVEX_Vpminsd_xmm_k1z_xmm_xmmm128b32)], N16b4 },
								new object[] { VkHW_3b, ymm0, code[nameof(Code.EVEX_Vpminsd_ymm_k1z_ymm_ymmm256b32)], N32b4 },
								new object[] { VkHW_3b, zmm0, code[nameof(Code.EVEX_Vpminsd_zmm_k1z_zmm_zmmm512b32)], N64b4 },
							},
							new object[] { VectorLength,
								new object[] { VkHW_3b, xmm0, code[nameof(Code.EVEX_Vpminsq_xmm_k1z_xmm_xmmm128b64)], N16b8 },
								new object[] { VkHW_3b, ymm0, code[nameof(Code.EVEX_Vpminsq_ymm_k1z_ymm_ymmm256b64)], N32b8 },
								new object[] { VkHW_3b, zmm0, code[nameof(Code.EVEX_Vpminsq_zmm_k1z_zmm_zmmm512b64)], N64b8 },
							},
						},
						new object[] { W,
							new object[] { VectorLength,
								new object[] { KR, xmm0, code[nameof(Code.EVEX_Vpmovd2m_kr_xmm)] },
								new object[] { KR, ymm0, code[nameof(Code.EVEX_Vpmovd2m_kr_ymm)] },
								new object[] { KR, zmm0, code[nameof(Code.EVEX_Vpmovd2m_kr_zmm)] },
							},
							new object[] { VectorLength,
								new object[] { KR, xmm0, code[nameof(Code.EVEX_Vpmovq2m_kr_xmm)] },
								new object[] { KR, ymm0, code[nameof(Code.EVEX_Vpmovq2m_kr_ymm)] },
								new object[] { KR, zmm0, code[nameof(Code.EVEX_Vpmovq2m_kr_zmm)] },
							},
						},
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { VectorLength,
							new object[] { VkHW_3, xmm0, code[nameof(Code.EVEX_Vpminuw_xmm_k1z_xmm_xmmm128)], N16 },
							new object[] { VkHW_3, ymm0, code[nameof(Code.EVEX_Vpminuw_ymm_k1z_ymm_ymmm256)], N32 },
							new object[] { VkHW_3, zmm0, code[nameof(Code.EVEX_Vpminuw_zmm_k1z_zmm_zmmm512)], N64 },
						},
						new object[] { W,
							new object[] { VectorLength,
								new object[] { VK, xmm0, code[nameof(Code.EVEX_Vpbroadcastmw2d_xmm_kr)] },
								new object[] { VK, ymm0, code[nameof(Code.EVEX_Vpbroadcastmw2d_ymm_kr)] },
								new object[] { VK, zmm0, code[nameof(Code.EVEX_Vpbroadcastmw2d_zmm_kr)] },
							},
							invalid,
						},
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { VkHW_3b, xmm0, code[nameof(Code.EVEX_Vpminud_xmm_k1z_xmm_xmmm128b32)], N16b4 },
								new object[] { VkHW_3b, ymm0, code[nameof(Code.EVEX_Vpminud_ymm_k1z_ymm_ymmm256b32)], N32b4 },
								new object[] { VkHW_3b, zmm0, code[nameof(Code.EVEX_Vpminud_zmm_k1z_zmm_zmmm512b32)], N64b4 },
							},
							new object[] { VectorLength,
								new object[] { VkHW_3b, xmm0, code[nameof(Code.EVEX_Vpminuq_xmm_k1z_xmm_xmmm128b64)], N16b8 },
								new object[] { VkHW_3b, ymm0, code[nameof(Code.EVEX_Vpminuq_ymm_k1z_ymm_ymmm256b64)], N32b8 },
								new object[] { VkHW_3b, zmm0, code[nameof(Code.EVEX_Vpminuq_zmm_k1z_zmm_zmmm512b64)], N64b8 },
							},
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { VectorLength,
							new object[] { VkHW_3, xmm0, code[nameof(Code.EVEX_Vpmaxsb_xmm_k1z_xmm_xmmm128)], N16 },
							new object[] { VkHW_3, ymm0, code[nameof(Code.EVEX_Vpmaxsb_ymm_k1z_ymm_ymmm256)], N32 },
							new object[] { VkHW_3, zmm0, code[nameof(Code.EVEX_Vpmaxsb_zmm_k1z_zmm_zmmm512)], N64 },
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { VkHW_3b, xmm0, code[nameof(Code.EVEX_Vpmaxsd_xmm_k1z_xmm_xmmm128b32)], N16b4 },
								new object[] { VkHW_3b, ymm0, code[nameof(Code.EVEX_Vpmaxsd_ymm_k1z_ymm_ymmm256b32)], N32b4 },
								new object[] { VkHW_3b, zmm0, code[nameof(Code.EVEX_Vpmaxsd_zmm_k1z_zmm_zmmm512b32)], N64b4 },
							},
							new object[] { VectorLength,
								new object[] { VkHW_3b, xmm0, code[nameof(Code.EVEX_Vpmaxsq_xmm_k1z_xmm_xmmm128b64)], N16b8 },
								new object[] { VkHW_3b, ymm0, code[nameof(Code.EVEX_Vpmaxsq_ymm_k1z_ymm_ymmm256b64)], N32b8 },
								new object[] { VkHW_3b, zmm0, code[nameof(Code.EVEX_Vpmaxsq_zmm_k1z_zmm_zmmm512b64)], N64b8 },
							},
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { VectorLength,
							new object[] { VkHW_3, xmm0, code[nameof(Code.EVEX_Vpmaxuw_xmm_k1z_xmm_xmmm128)], N16 },
							new object[] { VkHW_3, ymm0, code[nameof(Code.EVEX_Vpmaxuw_ymm_k1z_ymm_ymmm256)], N32 },
							new object[] { VkHW_3, zmm0, code[nameof(Code.EVEX_Vpmaxuw_zmm_k1z_zmm_zmmm512)], N64 },
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { VkHW_3b, xmm0, code[nameof(Code.EVEX_Vpmaxud_xmm_k1z_xmm_xmmm128b32)], N16b4 },
								new object[] { VkHW_3b, ymm0, code[nameof(Code.EVEX_Vpmaxud_ymm_k1z_ymm_ymmm256b32)], N32b4 },
								new object[] { VkHW_3b, zmm0, code[nameof(Code.EVEX_Vpmaxud_zmm_k1z_zmm_zmmm512b32)], N64b4 },
							},
							new object[] { VectorLength,
								new object[] { VkHW_3b, xmm0, code[nameof(Code.EVEX_Vpmaxuq_xmm_k1z_xmm_xmmm128b64)], N16b8 },
								new object[] { VkHW_3b, ymm0, code[nameof(Code.EVEX_Vpmaxuq_ymm_k1z_ymm_ymmm256b64)], N32b8 },
								new object[] { VkHW_3b, zmm0, code[nameof(Code.EVEX_Vpmaxuq_zmm_k1z_zmm_zmmm512b64)], N64b8 },
							},
						},
						invalid,
						invalid,
					},

					// 40
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { VkHW_3b, xmm0, code[nameof(Code.EVEX_Vpmulld_xmm_k1z_xmm_xmmm128b32)], N16b4 },
								new object[] { VkHW_3b, ymm0, code[nameof(Code.EVEX_Vpmulld_ymm_k1z_ymm_ymmm256b32)], N32b4 },
								new object[] { VkHW_3b, zmm0, code[nameof(Code.EVEX_Vpmulld_zmm_k1z_zmm_zmmm512b32)], N64b4 },
							},
							new object[] { VectorLength,
								new object[] { VkHW_3b, xmm0, code[nameof(Code.EVEX_Vpmullq_xmm_k1z_xmm_xmmm128b64)], N16b8 },
								new object[] { VkHW_3b, ymm0, code[nameof(Code.EVEX_Vpmullq_ymm_k1z_ymm_ymmm256b64)], N32b8 },
								new object[] { VkHW_3b, zmm0, code[nameof(Code.EVEX_Vpmullq_zmm_k1z_zmm_zmmm512b64)], N64b8 },
							},
						},
						invalid,
						invalid,
					},
					invalid,
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength_er,
								new object[] { VkW_er_4, xmm0, code[nameof(Code.EVEX_Vgetexpps_xmm_k1z_xmmm128b32)], N16b4, true },
								new object[] { VkW_er_4, ymm0, code[nameof(Code.EVEX_Vgetexpps_ymm_k1z_ymmm256b32)], N32b4, true },
								new object[] { VkW_er_4, zmm0, code[nameof(Code.EVEX_Vgetexpps_zmm_k1z_zmmm512b32_sae)], N64b4, true },
							},
							new object[] { VectorLength_er,
								new object[] { VkW_er_4, xmm0, code[nameof(Code.EVEX_Vgetexppd_xmm_k1z_xmmm128b64)], N16b8, true },
								new object[] { VkW_er_4, ymm0, code[nameof(Code.EVEX_Vgetexppd_ymm_k1z_ymmm256b64)], N32b8, true },
								new object[] { VkW_er_4, zmm0, code[nameof(Code.EVEX_Vgetexppd_zmm_k1z_zmmm512b64_sae)], N64b8, true },
							},
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VkHW_er_4, xmm0, code[nameof(Code.EVEX_Vgetexpss_xmm_k1z_xmm_xmmm32_sae)], N4, true },
							new object[] { VkHW_er_4, xmm0, code[nameof(Code.EVEX_Vgetexpsd_xmm_k1z_xmm_xmmm64_sae)], N8, true },
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { VkW_3b, xmm0, code[nameof(Code.EVEX_Vplzcntd_xmm_k1z_xmmm128b32)], N16b4 },
								new object[] { VkW_3b, ymm0, code[nameof(Code.EVEX_Vplzcntd_ymm_k1z_ymmm256b32)], N32b4 },
								new object[] { VkW_3b, zmm0, code[nameof(Code.EVEX_Vplzcntd_zmm_k1z_zmmm512b32)], N64b4 },
							},
							new object[] { VectorLength,
								new object[] { VkW_3b, xmm0, code[nameof(Code.EVEX_Vplzcntq_xmm_k1z_xmmm128b64)], N16b8 },
								new object[] { VkW_3b, ymm0, code[nameof(Code.EVEX_Vplzcntq_ymm_k1z_ymmm256b64)], N32b8 },
								new object[] { VkW_3b, zmm0, code[nameof(Code.EVEX_Vplzcntq_zmm_k1z_zmmm512b64)], N64b8 },
							},
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { VkHW_3b, xmm0, code[nameof(Code.EVEX_Vpsrlvd_xmm_k1z_xmm_xmmm128b32)], N16b4 },
								new object[] { VkHW_3b, ymm0, code[nameof(Code.EVEX_Vpsrlvd_ymm_k1z_ymm_ymmm256b32)], N32b4 },
								new object[] { VkHW_3b, zmm0, code[nameof(Code.EVEX_Vpsrlvd_zmm_k1z_zmm_zmmm512b32)], N64b4 },
							},
							new object[] { VectorLength,
								new object[] { VkHW_3b, xmm0, code[nameof(Code.EVEX_Vpsrlvq_xmm_k1z_xmm_xmmm128b64)], N16b8 },
								new object[] { VkHW_3b, ymm0, code[nameof(Code.EVEX_Vpsrlvq_ymm_k1z_ymm_ymmm256b64)], N32b8 },
								new object[] { VkHW_3b, zmm0, code[nameof(Code.EVEX_Vpsrlvq_zmm_k1z_zmm_zmmm512b64)], N64b8 },
							},
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { VkHW_3b, xmm0, code[nameof(Code.EVEX_Vpsravd_xmm_k1z_xmm_xmmm128b32)], N16b4 },
								new object[] { VkHW_3b, ymm0, code[nameof(Code.EVEX_Vpsravd_ymm_k1z_ymm_ymmm256b32)], N32b4 },
								new object[] { VkHW_3b, zmm0, code[nameof(Code.EVEX_Vpsravd_zmm_k1z_zmm_zmmm512b32)], N64b4 },
							},
							new object[] { VectorLength,
								new object[] { VkHW_3b, xmm0, code[nameof(Code.EVEX_Vpsravq_xmm_k1z_xmm_xmmm128b64)], N16b8 },
								new object[] { VkHW_3b, ymm0, code[nameof(Code.EVEX_Vpsravq_ymm_k1z_ymm_ymmm256b64)], N32b8 },
								new object[] { VkHW_3b, zmm0, code[nameof(Code.EVEX_Vpsravq_zmm_k1z_zmm_zmmm512b64)], N64b8 },
							},
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { VkHW_3b, xmm0, code[nameof(Code.EVEX_Vpsllvd_xmm_k1z_xmm_xmmm128b32)], N16b4 },
								new object[] { VkHW_3b, ymm0, code[nameof(Code.EVEX_Vpsllvd_ymm_k1z_ymm_ymmm256b32)], N32b4 },
								new object[] { VkHW_3b, zmm0, code[nameof(Code.EVEX_Vpsllvd_zmm_k1z_zmm_zmmm512b32)], N64b4 },
							},
							new object[] { VectorLength,
								new object[] { VkHW_3b, xmm0, code[nameof(Code.EVEX_Vpsllvq_xmm_k1z_xmm_xmmm128b64)], N16b8 },
								new object[] { VkHW_3b, ymm0, code[nameof(Code.EVEX_Vpsllvq_ymm_k1z_ymm_ymmm256b64)], N32b8 },
								new object[] { VkHW_3b, zmm0, code[nameof(Code.EVEX_Vpsllvq_zmm_k1z_zmm_zmmm512b64)], N64b8 },
							},
						},
						invalid,
						invalid,
					},

					// 48
					invalid,
					invalid,
					invalid,
					invalid,
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { VkW_3b, xmm0, code[nameof(Code.EVEX_Vrcp14ps_xmm_k1z_xmmm128b32)], N16b4 },
								new object[] { VkW_3b, ymm0, code[nameof(Code.EVEX_Vrcp14ps_ymm_k1z_ymmm256b32)], N32b4 },
								new object[] { VkW_3b, zmm0, code[nameof(Code.EVEX_Vrcp14ps_zmm_k1z_zmmm512b32)], N64b4 },
							},
							new object[] { VectorLength,
								new object[] { VkW_3b, xmm0, code[nameof(Code.EVEX_Vrcp14pd_xmm_k1z_xmmm128b64)], N16b8 },
								new object[] { VkW_3b, ymm0, code[nameof(Code.EVEX_Vrcp14pd_ymm_k1z_ymmm256b64)], N32b8 },
								new object[] { VkW_3b, zmm0, code[nameof(Code.EVEX_Vrcp14pd_zmm_k1z_zmmm512b64)], N64b8 },
							},
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VkHW_3, xmm0, code[nameof(Code.EVEX_Vrcp14ss_xmm_k1z_xmm_xmmm32)], N4 },
							new object[] { VkHW_3, xmm0, code[nameof(Code.EVEX_Vrcp14sd_xmm_k1z_xmm_xmmm64)], N8 },
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { VkW_3b, xmm0, code[nameof(Code.EVEX_Vrsqrt14ps_xmm_k1z_xmmm128b32)], N16b4 },
								new object[] { VkW_3b, ymm0, code[nameof(Code.EVEX_Vrsqrt14ps_ymm_k1z_ymmm256b32)], N32b4 },
								new object[] { VkW_3b, zmm0, code[nameof(Code.EVEX_Vrsqrt14ps_zmm_k1z_zmmm512b32)], N64b4 },
							},
							new object[] { VectorLength,
								new object[] { VkW_3b, xmm0, code[nameof(Code.EVEX_Vrsqrt14pd_xmm_k1z_xmmm128b64)], N16b8 },
								new object[] { VkW_3b, ymm0, code[nameof(Code.EVEX_Vrsqrt14pd_ymm_k1z_ymmm256b64)], N32b8 },
								new object[] { VkW_3b, zmm0, code[nameof(Code.EVEX_Vrsqrt14pd_zmm_k1z_zmmm512b64)], N64b8 },
							},
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VkHW_3, xmm0, code[nameof(Code.EVEX_Vrsqrt14ss_xmm_k1z_xmm_xmmm32)], N4 },
							new object[] { VkHW_3, xmm0, code[nameof(Code.EVEX_Vrsqrt14sd_xmm_k1z_xmm_xmmm64)], N8 },
						},
						invalid,
						invalid,
					},

					// 50
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { VkHW_3b, xmm0, code[nameof(Code.EVEX_Vpdpbusd_xmm_k1z_xmm_xmmm128b32)], N16b4 },
								new object[] { VkHW_3b, ymm0, code[nameof(Code.EVEX_Vpdpbusd_ymm_k1z_ymm_ymmm256b32)], N32b4 },
								new object[] { VkHW_3b, zmm0, code[nameof(Code.EVEX_Vpdpbusd_zmm_k1z_zmm_zmmm512b32)], N64b4 },
							},
							invalid,
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { VkHW_3b, xmm0, code[nameof(Code.EVEX_Vpdpbusds_xmm_k1z_xmm_xmmm128b32)], N16b4 },
								new object[] { VkHW_3b, ymm0, code[nameof(Code.EVEX_Vpdpbusds_ymm_k1z_ymm_ymmm256b32)], N32b4 },
								new object[] { VkHW_3b, zmm0, code[nameof(Code.EVEX_Vpdpbusds_zmm_k1z_zmm_zmmm512b32)], N64b4 },
							},
							invalid,
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { VkHW_3b, xmm0, code[nameof(Code.EVEX_Vpdpwssd_xmm_k1z_xmm_xmmm128b32)], N16b4 },
								new object[] { VkHW_3b, ymm0, code[nameof(Code.EVEX_Vpdpwssd_ymm_k1z_ymm_ymmm256b32)], N32b4 },
								new object[] { VkHW_3b, zmm0, code[nameof(Code.EVEX_Vpdpwssd_zmm_k1z_zmm_zmmm512b32)], N64b4 },
							},
							invalid,
						},
						new object[] { W,
							new object[] { VectorLength,
								new object[] { VkHW_3b, xmm0, code[nameof(Code.EVEX_Vdpbf16ps_xmm_k1z_xmm_xmmm128b32)], N16b4 },
								new object[] { VkHW_3b, ymm0, code[nameof(Code.EVEX_Vdpbf16ps_ymm_k1z_ymm_ymmm256b32)], N32b4 },
								new object[] { VkHW_3b, zmm0, code[nameof(Code.EVEX_Vdpbf16ps_zmm_k1z_zmm_zmmm512b32)], N64b4 },
							},
							invalid,
						},
						new object[] { W,
							new object[] { VectorLength,
								invalid,
								invalid,
								new object[] { VkHM, zmm0, code[nameof(Code.EVEX_Vp4dpwssd_zmm_k1z_zmmp3_m128)], N16 },
							},
							invalid,
						},
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { VkHW_3b, xmm0, code[nameof(Code.EVEX_Vpdpwssds_xmm_k1z_xmm_xmmm128b32)], N16b4 },
								new object[] { VkHW_3b, ymm0, code[nameof(Code.EVEX_Vpdpwssds_ymm_k1z_ymm_ymmm256b32)], N32b4 },
								new object[] { VkHW_3b, zmm0, code[nameof(Code.EVEX_Vpdpwssds_zmm_k1z_zmm_zmmm512b32)], N64b4 },
							},
							invalid,
						},
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								invalid,
								invalid,
								new object[] { VkHM, zmm0, code[nameof(Code.EVEX_Vp4dpwssds_zmm_k1z_zmmp3_m128)], N16 },
							},
							invalid,
						},
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { VkW_3, xmm0, code[nameof(Code.EVEX_Vpopcntb_xmm_k1z_xmmm128)], N16 },
								new object[] { VkW_3, ymm0, code[nameof(Code.EVEX_Vpopcntb_ymm_k1z_ymmm256)], N32 },
								new object[] { VkW_3, zmm0, code[nameof(Code.EVEX_Vpopcntb_zmm_k1z_zmmm512)], N64 },
							},
							new object[] { VectorLength,
								new object[] { VkW_3, xmm0, code[nameof(Code.EVEX_Vpopcntw_xmm_k1z_xmmm128)], N16 },
								new object[] { VkW_3, ymm0, code[nameof(Code.EVEX_Vpopcntw_ymm_k1z_ymmm256)], N32 },
								new object[] { VkW_3, zmm0, code[nameof(Code.EVEX_Vpopcntw_zmm_k1z_zmmm512)], N64 },
							},
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { VkW_3b, xmm0, code[nameof(Code.EVEX_Vpopcntd_xmm_k1z_xmmm128b32)], N16b4 },
								new object[] { VkW_3b, ymm0, code[nameof(Code.EVEX_Vpopcntd_ymm_k1z_ymmm256b32)], N32b4 },
								new object[] { VkW_3b, zmm0, code[nameof(Code.EVEX_Vpopcntd_zmm_k1z_zmmm512b32)], N64b4 },
							},
							new object[] { VectorLength,
								new object[] { VkW_3b, xmm0, code[nameof(Code.EVEX_Vpopcntq_xmm_k1z_xmmm128b64)], N16b8 },
								new object[] { VkW_3b, ymm0, code[nameof(Code.EVEX_Vpopcntq_ymm_k1z_ymmm256b64)], N32b8 },
								new object[] { VkW_3b, zmm0, code[nameof(Code.EVEX_Vpopcntq_zmm_k1z_zmmm512b64)], N64b8 },
							},
						},
						invalid,
						invalid,
					},
					invalid,
					invalid,

					// 58
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { VkW_4, xmm0, xmm0, code[nameof(Code.EVEX_Vpbroadcastd_xmm_k1z_xmmm32)], N4 },
								new object[] { VkW_4, ymm0, xmm0, code[nameof(Code.EVEX_Vpbroadcastd_ymm_k1z_xmmm32)], N4 },
								new object[] { VkW_4, zmm0, xmm0, code[nameof(Code.EVEX_Vpbroadcastd_zmm_k1z_xmmm32)], N4 },
							},
							invalid,
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { VkW_4, xmm0, xmm0, code[nameof(Code.EVEX_Vbroadcasti32x2_xmm_k1z_xmmm64)], N8 },
								new object[] { VkW_4, ymm0, xmm0, code[nameof(Code.EVEX_Vbroadcasti32x2_ymm_k1z_xmmm64)], N8 },
								new object[] { VkW_4, zmm0, xmm0, code[nameof(Code.EVEX_Vbroadcasti32x2_zmm_k1z_xmmm64)], N8 },
							},
							new object[] { VectorLength,
								new object[] { VkW_4, xmm0, xmm0, code[nameof(Code.EVEX_Vpbroadcastq_xmm_k1z_xmmm64)], N8 },
								new object[] { VkW_4, ymm0, xmm0, code[nameof(Code.EVEX_Vpbroadcastq_ymm_k1z_xmmm64)], N8 },
								new object[] { VkW_4, zmm0, xmm0, code[nameof(Code.EVEX_Vpbroadcastq_zmm_k1z_xmmm64)], N8 },
							},
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								invalid,
								new object[] { VkM, ymm0, code[nameof(Code.EVEX_Vbroadcasti32x4_ymm_k1z_m128)], N16 },
								new object[] { VkM, zmm0, code[nameof(Code.EVEX_Vbroadcasti32x4_zmm_k1z_m128)], N16 },
							},
							new object[] { VectorLength,
								invalid,
								new object[] { VkM, ymm0, code[nameof(Code.EVEX_Vbroadcasti64x2_ymm_k1z_m128)], N16 },
								new object[] { VkM, zmm0, code[nameof(Code.EVEX_Vbroadcasti64x2_zmm_k1z_m128)], N16 },
							},
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								invalid,
								invalid,
								new object[] { VkM, zmm0, code[nameof(Code.EVEX_Vbroadcasti32x8_zmm_k1z_m256)], N32 },
							},
							new object[] { VectorLength,
								invalid,
								invalid,
								new object[] { VkM, zmm0, code[nameof(Code.EVEX_Vbroadcasti64x4_zmm_k1z_m256)], N32 },
							},
						},
						invalid,
						invalid,
					},
					invalid,
					invalid,
					invalid,
					invalid,

					// 60
					invalid,
					invalid,
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { VkW_3, xmm0, code[nameof(Code.EVEX_Vpexpandb_xmm_k1z_xmmm128)], N1 },
								new object[] { VkW_3, ymm0, code[nameof(Code.EVEX_Vpexpandb_ymm_k1z_ymmm256)], N1 },
								new object[] { VkW_3, zmm0, code[nameof(Code.EVEX_Vpexpandb_zmm_k1z_zmmm512)], N1 },
							},
							new object[] { VectorLength,
								new object[] { VkW_3, xmm0, code[nameof(Code.EVEX_Vpexpandw_xmm_k1z_xmmm128)], N2 },
								new object[] { VkW_3, ymm0, code[nameof(Code.EVEX_Vpexpandw_ymm_k1z_ymmm256)], N2 },
								new object[] { VkW_3, zmm0, code[nameof(Code.EVEX_Vpexpandw_zmm_k1z_zmmm512)], N2 },
							},
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { WkV_3, xmm0, code[nameof(Code.EVEX_Vpcompressb_xmmm128_k1z_xmm)], N1 },
								new object[] { WkV_3, ymm0, code[nameof(Code.EVEX_Vpcompressb_ymmm256_k1z_ymm)], N1 },
								new object[] { WkV_3, zmm0, code[nameof(Code.EVEX_Vpcompressb_zmmm512_k1z_zmm)], N1 },
							},
							new object[] { VectorLength,
								new object[] { WkV_3, xmm0, code[nameof(Code.EVEX_Vpcompressw_xmmm128_k1z_xmm)], N2 },
								new object[] { WkV_3, ymm0, code[nameof(Code.EVEX_Vpcompressw_ymmm256_k1z_ymm)], N2 },
								new object[] { WkV_3, zmm0, code[nameof(Code.EVEX_Vpcompressw_zmmm512_k1z_zmm)], N2 },
							},
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { VkHW_3b, xmm0, code[nameof(Code.EVEX_Vpblendmd_xmm_k1z_xmm_xmmm128b32)], N16b4 },
								new object[] { VkHW_3b, ymm0, code[nameof(Code.EVEX_Vpblendmd_ymm_k1z_ymm_ymmm256b32)], N32b4 },
								new object[] { VkHW_3b, zmm0, code[nameof(Code.EVEX_Vpblendmd_zmm_k1z_zmm_zmmm512b32)], N64b4 },
							},
							new object[] { VectorLength,
								new object[] { VkHW_3b, xmm0, code[nameof(Code.EVEX_Vpblendmq_xmm_k1z_xmm_xmmm128b64)], N16b8 },
								new object[] { VkHW_3b, ymm0, code[nameof(Code.EVEX_Vpblendmq_ymm_k1z_ymm_ymmm256b64)], N32b8 },
								new object[] { VkHW_3b, zmm0, code[nameof(Code.EVEX_Vpblendmq_zmm_k1z_zmm_zmmm512b64)], N64b8 },
							},
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { VkHW_3b, xmm0, code[nameof(Code.EVEX_Vblendmps_xmm_k1z_xmm_xmmm128b32)], N16b4 },
								new object[] { VkHW_3b, ymm0, code[nameof(Code.EVEX_Vblendmps_ymm_k1z_ymm_ymmm256b32)], N32b4 },
								new object[] { VkHW_3b, zmm0, code[nameof(Code.EVEX_Vblendmps_zmm_k1z_zmm_zmmm512b32)], N64b4 },
							},
							new object[] { VectorLength,
								new object[] { VkHW_3b, xmm0, code[nameof(Code.EVEX_Vblendmpd_xmm_k1z_xmm_xmmm128b64)], N16b8 },
								new object[] { VkHW_3b, ymm0, code[nameof(Code.EVEX_Vblendmpd_ymm_k1z_ymm_ymmm256b64)], N32b8 },
								new object[] { VkHW_3b, zmm0, code[nameof(Code.EVEX_Vblendmpd_zmm_k1z_zmm_zmmm512b64)], N64b8 },
							},
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { VkHW_3, xmm0, code[nameof(Code.EVEX_Vpblendmb_xmm_k1z_xmm_xmmm128)], N16 },
								new object[] { VkHW_3, ymm0, code[nameof(Code.EVEX_Vpblendmb_ymm_k1z_ymm_ymmm256)], N32 },
								new object[] { VkHW_3, zmm0, code[nameof(Code.EVEX_Vpblendmb_zmm_k1z_zmm_zmmm512)], N64 },
							},
							new object[] { VectorLength,
								new object[] { VkHW_3, xmm0, code[nameof(Code.EVEX_Vpblendmw_xmm_k1z_xmm_xmmm128)], N16 },
								new object[] { VkHW_3, ymm0, code[nameof(Code.EVEX_Vpblendmw_ymm_k1z_ymm_ymmm256)], N32 },
								new object[] { VkHW_3, zmm0, code[nameof(Code.EVEX_Vpblendmw_zmm_k1z_zmm_zmmm512)], N64 },
							},
						},
						invalid,
						invalid,
					},
					invalid,

					// 68
					new object[] { MandatoryPrefix2,
						invalid,
						invalid,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { KP1HW, xmm0, code[nameof(Code.EVEX_Vp2intersectd_kp1_xmm_xmmm128b32)], N16b4 },
								new object[] { KP1HW, ymm0, code[nameof(Code.EVEX_Vp2intersectd_kp1_ymm_ymmm256b32)], N32b4 },
								new object[] { KP1HW, zmm0, code[nameof(Code.EVEX_Vp2intersectd_kp1_zmm_zmmm512b32)], N64b4 },
							},
							new object[] { VectorLength,
								new object[] { KP1HW, xmm0, code[nameof(Code.EVEX_Vp2intersectq_kp1_xmm_xmmm128b64)], N16b8 },
								new object[] { KP1HW, ymm0, code[nameof(Code.EVEX_Vp2intersectq_kp1_ymm_ymmm256b64)], N32b8 },
								new object[] { KP1HW, zmm0, code[nameof(Code.EVEX_Vp2intersectq_kp1_zmm_zmmm512b64)], N64b8 },
							},
						},
					},
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,

					// 70
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							invalid,
							new object[] { VectorLength,
								new object[] { VkHW_3, xmm0, code[nameof(Code.EVEX_Vpshldvw_xmm_k1z_xmm_xmmm128)], N16 },
								new object[] { VkHW_3, ymm0, code[nameof(Code.EVEX_Vpshldvw_ymm_k1z_ymm_ymmm256)], N32 },
								new object[] { VkHW_3, zmm0, code[nameof(Code.EVEX_Vpshldvw_zmm_k1z_zmm_zmmm512)], N64 },
							},
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { VkHW_3b, xmm0, code[nameof(Code.EVEX_Vpshldvd_xmm_k1z_xmm_xmmm128b32)], N16b4 },
								new object[] { VkHW_3b, ymm0, code[nameof(Code.EVEX_Vpshldvd_ymm_k1z_ymm_ymmm256b32)], N32b4 },
								new object[] { VkHW_3b, zmm0, code[nameof(Code.EVEX_Vpshldvd_zmm_k1z_zmm_zmmm512b32)], N64b4 },
							},
							new object[] { VectorLength,
								new object[] { VkHW_3b, xmm0, code[nameof(Code.EVEX_Vpshldvq_xmm_k1z_xmm_xmmm128b64)], N16b8 },
								new object[] { VkHW_3b, ymm0, code[nameof(Code.EVEX_Vpshldvq_ymm_k1z_ymm_ymmm256b64)], N32b8 },
								new object[] { VkHW_3b, zmm0, code[nameof(Code.EVEX_Vpshldvq_zmm_k1z_zmm_zmmm512b64)], N64b8 },
							},
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							invalid,
							new object[] { VectorLength,
								new object[] { VkHW_3, xmm0, code[nameof(Code.EVEX_Vpshrdvw_xmm_k1z_xmm_xmmm128)], N16 },
								new object[] { VkHW_3, ymm0, code[nameof(Code.EVEX_Vpshrdvw_ymm_k1z_ymm_ymmm256)], N32 },
								new object[] { VkHW_3, zmm0, code[nameof(Code.EVEX_Vpshrdvw_zmm_k1z_zmm_zmmm512)], N64 },
							},
						},
						new object[] { W,
							new object[] { VectorLength,
								new object[] { VkW_4b, xmm0, xmm0, code[nameof(Code.EVEX_Vcvtneps2bf16_xmm_k1z_xmmm128b32)], N16b4 },
								new object[] { VkW_4b, xmm0, ymm0, code[nameof(Code.EVEX_Vcvtneps2bf16_xmm_k1z_ymmm256b32)], N32b4 },
								new object[] { VkW_4b, ymm0, zmm0, code[nameof(Code.EVEX_Vcvtneps2bf16_ymm_k1z_zmmm512b32)], N64b4 },
							},
							invalid,
						},
						new object[] { W,
							new object[] { VectorLength,
								new object[] { VkHW_3b, xmm0, code[nameof(Code.EVEX_Vcvtne2ps2bf16_xmm_k1z_xmm_xmmm128b32)], N16b4 },
								new object[] { VkHW_3b, ymm0, code[nameof(Code.EVEX_Vcvtne2ps2bf16_ymm_k1z_ymm_ymmm256b32)], N32b4 },
								new object[] { VkHW_3b, zmm0, code[nameof(Code.EVEX_Vcvtne2ps2bf16_zmm_k1z_zmm_zmmm512b32)], N64b4 },
							},
							invalid,
						},
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { VkHW_3b, xmm0, code[nameof(Code.EVEX_Vpshrdvd_xmm_k1z_xmm_xmmm128b32)], N16b4 },
								new object[] { VkHW_3b, ymm0, code[nameof(Code.EVEX_Vpshrdvd_ymm_k1z_ymm_ymmm256b32)], N32b4 },
								new object[] { VkHW_3b, zmm0, code[nameof(Code.EVEX_Vpshrdvd_zmm_k1z_zmm_zmmm512b32)], N64b4 },
							},
							new object[] { VectorLength,
								new object[] { VkHW_3b, xmm0, code[nameof(Code.EVEX_Vpshrdvq_xmm_k1z_xmm_xmmm128b64)], N16b8 },
								new object[] { VkHW_3b, ymm0, code[nameof(Code.EVEX_Vpshrdvq_ymm_k1z_ymm_ymmm256b64)], N32b8 },
								new object[] { VkHW_3b, zmm0, code[nameof(Code.EVEX_Vpshrdvq_zmm_k1z_zmm_zmmm512b64)], N64b8 },
							},
						},
						invalid,
						invalid,
					},
					invalid,
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { VkHW_3, xmm0, code[nameof(Code.EVEX_Vpermi2b_xmm_k1z_xmm_xmmm128)], N16 },
								new object[] { VkHW_3, ymm0, code[nameof(Code.EVEX_Vpermi2b_ymm_k1z_ymm_ymmm256)], N32 },
								new object[] { VkHW_3, zmm0, code[nameof(Code.EVEX_Vpermi2b_zmm_k1z_zmm_zmmm512)], N64 },
							},
							new object[] { VectorLength,
								new object[] { VkHW_3, xmm0, code[nameof(Code.EVEX_Vpermi2w_xmm_k1z_xmm_xmmm128)], N16 },
								new object[] { VkHW_3, ymm0, code[nameof(Code.EVEX_Vpermi2w_ymm_k1z_ymm_ymmm256)], N32 },
								new object[] { VkHW_3, zmm0, code[nameof(Code.EVEX_Vpermi2w_zmm_k1z_zmm_zmmm512)], N64 },
							},
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { VkHW_3b, xmm0, code[nameof(Code.EVEX_Vpermi2d_xmm_k1z_xmm_xmmm128b32)], N16b4 },
								new object[] { VkHW_3b, ymm0, code[nameof(Code.EVEX_Vpermi2d_ymm_k1z_ymm_ymmm256b32)], N32b4 },
								new object[] { VkHW_3b, zmm0, code[nameof(Code.EVEX_Vpermi2d_zmm_k1z_zmm_zmmm512b32)], N64b4 },
							},
							new object[] { VectorLength,
								new object[] { VkHW_3b, xmm0, code[nameof(Code.EVEX_Vpermi2q_xmm_k1z_xmm_xmmm128b64)], N16b8 },
								new object[] { VkHW_3b, ymm0, code[nameof(Code.EVEX_Vpermi2q_ymm_k1z_ymm_ymmm256b64)], N32b8 },
								new object[] { VkHW_3b, zmm0, code[nameof(Code.EVEX_Vpermi2q_zmm_k1z_zmm_zmmm512b64)], N64b8 },
							},
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { VkHW_3b, xmm0, code[nameof(Code.EVEX_Vpermi2ps_xmm_k1z_xmm_xmmm128b32)], N16b4 },
								new object[] { VkHW_3b, ymm0, code[nameof(Code.EVEX_Vpermi2ps_ymm_k1z_ymm_ymmm256b32)], N32b4 },
								new object[] { VkHW_3b, zmm0, code[nameof(Code.EVEX_Vpermi2ps_zmm_k1z_zmm_zmmm512b32)], N64b4 },
							},
							new object[] { VectorLength,
								new object[] { VkHW_3b, xmm0, code[nameof(Code.EVEX_Vpermi2pd_xmm_k1z_xmm_xmmm128b64)], N16b8 },
								new object[] { VkHW_3b, ymm0, code[nameof(Code.EVEX_Vpermi2pd_ymm_k1z_ymm_ymmm256b64)], N32b8 },
								new object[] { VkHW_3b, zmm0, code[nameof(Code.EVEX_Vpermi2pd_zmm_k1z_zmm_zmmm512b64)], N64b8 },
							},
						},
						invalid,
						invalid,
					},

					// 78
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { VkW_4, xmm0, xmm0, code[nameof(Code.EVEX_Vpbroadcastb_xmm_k1z_xmmm8)], N1 },
								new object[] { VkW_4, ymm0, xmm0, code[nameof(Code.EVEX_Vpbroadcastb_ymm_k1z_xmmm8)], N1 },
								new object[] { VkW_4, zmm0, xmm0, code[nameof(Code.EVEX_Vpbroadcastb_zmm_k1z_xmmm8)], N1 },
							},
							invalid,
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { VkW_4, xmm0, xmm0, code[nameof(Code.EVEX_Vpbroadcastw_xmm_k1z_xmmm16)], N2 },
								new object[] { VkW_4, ymm0, xmm0, code[nameof(Code.EVEX_Vpbroadcastw_ymm_k1z_xmmm16)], N2 },
								new object[] { VkW_4, zmm0, xmm0, code[nameof(Code.EVEX_Vpbroadcastw_zmm_k1z_xmmm16)], N2 },
							},
							invalid,
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { VkEv_REXW_2, xmm0, code[nameof(Code.EVEX_Vpbroadcastb_xmm_k1z_r32)] },
								new object[] { VkEv_REXW_2, ymm0, code[nameof(Code.EVEX_Vpbroadcastb_ymm_k1z_r32)] },
								new object[] { VkEv_REXW_2, zmm0, code[nameof(Code.EVEX_Vpbroadcastb_zmm_k1z_r32)] },
							},
							invalid,
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { VkEv_REXW_2, xmm0, code[nameof(Code.EVEX_Vpbroadcastw_xmm_k1z_r32)] },
								new object[] { VkEv_REXW_2, ymm0, code[nameof(Code.EVEX_Vpbroadcastw_ymm_k1z_r32)] },
								new object[] { VkEv_REXW_2, zmm0, code[nameof(Code.EVEX_Vpbroadcastw_zmm_k1z_r32)] },
							},
							invalid,
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { VectorLength,
							new object[] { VkEv_REXW_3, xmm0, code[nameof(Code.EVEX_Vpbroadcastd_xmm_k1z_r32)], code[nameof(Code.EVEX_Vpbroadcastq_xmm_k1z_r64)] },
							new object[] { VkEv_REXW_3, ymm0, code[nameof(Code.EVEX_Vpbroadcastd_ymm_k1z_r32)], code[nameof(Code.EVEX_Vpbroadcastq_ymm_k1z_r64)] },
							new object[] { VkEv_REXW_3, zmm0, code[nameof(Code.EVEX_Vpbroadcastd_zmm_k1z_r32)], code[nameof(Code.EVEX_Vpbroadcastq_zmm_k1z_r64)] },
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { VkHW_3, xmm0, code[nameof(Code.EVEX_Vpermt2b_xmm_k1z_xmm_xmmm128)], N16 },
								new object[] { VkHW_3, ymm0, code[nameof(Code.EVEX_Vpermt2b_ymm_k1z_ymm_ymmm256)], N32 },
								new object[] { VkHW_3, zmm0, code[nameof(Code.EVEX_Vpermt2b_zmm_k1z_zmm_zmmm512)], N64 },
							},
							new object[] { VectorLength,
								new object[] { VkHW_3, xmm0, code[nameof(Code.EVEX_Vpermt2w_xmm_k1z_xmm_xmmm128)], N16 },
								new object[] { VkHW_3, ymm0, code[nameof(Code.EVEX_Vpermt2w_ymm_k1z_ymm_ymmm256)], N32 },
								new object[] { VkHW_3, zmm0, code[nameof(Code.EVEX_Vpermt2w_zmm_k1z_zmm_zmmm512)], N64 },
							},
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { VkHW_3b, xmm0, code[nameof(Code.EVEX_Vpermt2d_xmm_k1z_xmm_xmmm128b32)], N16b4 },
								new object[] { VkHW_3b, ymm0, code[nameof(Code.EVEX_Vpermt2d_ymm_k1z_ymm_ymmm256b32)], N32b4 },
								new object[] { VkHW_3b, zmm0, code[nameof(Code.EVEX_Vpermt2d_zmm_k1z_zmm_zmmm512b32)], N64b4 },
							},
							new object[] { VectorLength,
								new object[] { VkHW_3b, xmm0, code[nameof(Code.EVEX_Vpermt2q_xmm_k1z_xmm_xmmm128b64)], N16b8 },
								new object[] { VkHW_3b, ymm0, code[nameof(Code.EVEX_Vpermt2q_ymm_k1z_ymm_ymmm256b64)], N32b8 },
								new object[] { VkHW_3b, zmm0, code[nameof(Code.EVEX_Vpermt2q_zmm_k1z_zmm_zmmm512b64)], N64b8 },
							},
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { VkHW_3b, xmm0, code[nameof(Code.EVEX_Vpermt2ps_xmm_k1z_xmm_xmmm128b32)], N16b4 },
								new object[] { VkHW_3b, ymm0, code[nameof(Code.EVEX_Vpermt2ps_ymm_k1z_ymm_ymmm256b32)], N32b4 },
								new object[] { VkHW_3b, zmm0, code[nameof(Code.EVEX_Vpermt2ps_zmm_k1z_zmm_zmmm512b32)], N64b4 },
							},
							new object[] { VectorLength,
								new object[] { VkHW_3b, xmm0, code[nameof(Code.EVEX_Vpermt2pd_xmm_k1z_xmm_xmmm128b64)], N16b8 },
								new object[] { VkHW_3b, ymm0, code[nameof(Code.EVEX_Vpermt2pd_ymm_k1z_ymm_ymmm256b64)], N32b8 },
								new object[] { VkHW_3b, zmm0, code[nameof(Code.EVEX_Vpermt2pd_zmm_k1z_zmm_zmmm512b64)], N64b8 },
							},
						},
						invalid,
						invalid,
					},

					// 80
					invalid,
					invalid,
					invalid,
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							invalid,
							new object[] { VectorLength,
								new object[] { VkHW_3b, xmm0, code[nameof(Code.EVEX_Vpmultishiftqb_xmm_k1z_xmm_xmmm128b64)], N16b8 },
								new object[] { VkHW_3b, ymm0, code[nameof(Code.EVEX_Vpmultishiftqb_ymm_k1z_ymm_ymmm256b64)], N32b8 },
								new object[] { VkHW_3b, zmm0, code[nameof(Code.EVEX_Vpmultishiftqb_zmm_k1z_zmm_zmmm512b64)], N64b8 },
							},
						},
						invalid,
						invalid,
					},
					invalid,
					invalid,
					invalid,
					invalid,

					// 88
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { VkW_3, xmm0, code[nameof(Code.EVEX_Vexpandps_xmm_k1z_xmmm128)], N4 },
								new object[] { VkW_3, ymm0, code[nameof(Code.EVEX_Vexpandps_ymm_k1z_ymmm256)], N4 },
								new object[] { VkW_3, zmm0, code[nameof(Code.EVEX_Vexpandps_zmm_k1z_zmmm512)], N4 },
							},
							new object[] { VectorLength,
								new object[] { VkW_3, xmm0, code[nameof(Code.EVEX_Vexpandpd_xmm_k1z_xmmm128)], N8 },
								new object[] { VkW_3, ymm0, code[nameof(Code.EVEX_Vexpandpd_ymm_k1z_ymmm256)], N8 },
								new object[] { VkW_3, zmm0, code[nameof(Code.EVEX_Vexpandpd_zmm_k1z_zmmm512)], N8 },
							},
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { VkW_3, xmm0, code[nameof(Code.EVEX_Vpexpandd_xmm_k1z_xmmm128)], N4 },
								new object[] { VkW_3, ymm0, code[nameof(Code.EVEX_Vpexpandd_ymm_k1z_ymmm256)], N4 },
								new object[] { VkW_3, zmm0, code[nameof(Code.EVEX_Vpexpandd_zmm_k1z_zmmm512)], N4 },
							},
							new object[] { VectorLength,
								new object[] { VkW_3, xmm0, code[nameof(Code.EVEX_Vpexpandq_xmm_k1z_xmmm128)], N8 },
								new object[] { VkW_3, ymm0, code[nameof(Code.EVEX_Vpexpandq_ymm_k1z_ymmm256)], N8 },
								new object[] { VkW_3, zmm0, code[nameof(Code.EVEX_Vpexpandq_zmm_k1z_zmmm512)], N8 },
							},
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { WkV_3, xmm0, code[nameof(Code.EVEX_Vcompressps_xmmm128_k1z_xmm)], N4 },
								new object[] { WkV_3, ymm0, code[nameof(Code.EVEX_Vcompressps_ymmm256_k1z_ymm)], N4 },
								new object[] { WkV_3, zmm0, code[nameof(Code.EVEX_Vcompressps_zmmm512_k1z_zmm)], N4 },
							},
							new object[] { VectorLength,
								new object[] { WkV_3, xmm0, code[nameof(Code.EVEX_Vcompresspd_xmmm128_k1z_xmm)], N8 },
								new object[] { WkV_3, ymm0, code[nameof(Code.EVEX_Vcompresspd_ymmm256_k1z_ymm)], N8 },
								new object[] { WkV_3, zmm0, code[nameof(Code.EVEX_Vcompresspd_zmmm512_k1z_zmm)], N8 },
							},
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { WkV_3, xmm0, code[nameof(Code.EVEX_Vpcompressd_xmmm128_k1z_xmm)], N4 },
								new object[] { WkV_3, ymm0, code[nameof(Code.EVEX_Vpcompressd_ymmm256_k1z_ymm)], N4 },
								new object[] { WkV_3, zmm0, code[nameof(Code.EVEX_Vpcompressd_zmmm512_k1z_zmm)], N4 },
							},
							new object[] { VectorLength,
								new object[] { WkV_3, xmm0, code[nameof(Code.EVEX_Vpcompressq_xmmm128_k1z_xmm)], N8 },
								new object[] { WkV_3, ymm0, code[nameof(Code.EVEX_Vpcompressq_ymmm256_k1z_ymm)], N8 },
								new object[] { WkV_3, zmm0, code[nameof(Code.EVEX_Vpcompressq_zmmm512_k1z_zmm)], N8 },
							},
						},
						invalid,
						invalid,
					},
					invalid,
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { VkHW_3, xmm0, code[nameof(Code.EVEX_Vpermb_xmm_k1z_xmm_xmmm128)], N16 },
								new object[] { VkHW_3, ymm0, code[nameof(Code.EVEX_Vpermb_ymm_k1z_ymm_ymmm256)], N32 },
								new object[] { VkHW_3, zmm0, code[nameof(Code.EVEX_Vpermb_zmm_k1z_zmm_zmmm512)], N64 },
							},
							new object[] { VectorLength,
								new object[] { VkHW_3, xmm0, code[nameof(Code.EVEX_Vpermw_xmm_k1z_xmm_xmmm128)], N16 },
								new object[] { VkHW_3, ymm0, code[nameof(Code.EVEX_Vpermw_ymm_k1z_ymm_ymmm256)], N32 },
								new object[] { VkHW_3, zmm0, code[nameof(Code.EVEX_Vpermw_zmm_k1z_zmm_zmmm512)], N64 },
							},
						},
						invalid,
						invalid,
					},
					invalid,
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { KkHW_3, xmm0, code[nameof(Code.EVEX_Vpshufbitqmb_kr_k1_xmm_xmmm128)], N16 },
								new object[] { KkHW_3, ymm0, code[nameof(Code.EVEX_Vpshufbitqmb_kr_k1_ymm_ymmm256)], N32 },
								new object[] { KkHW_3, zmm0, code[nameof(Code.EVEX_Vpshufbitqmb_kr_k1_zmm_zmmm512)], N64 },
							},
							invalid,
						},
						invalid,
						invalid,
					},

					// 90
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { Vk_VSIB, xmm0, xmm0, code[nameof(Code.EVEX_Vpgatherdd_xmm_k1_vm32x)], N4 },
								new object[] { Vk_VSIB, ymm0, ymm0, code[nameof(Code.EVEX_Vpgatherdd_ymm_k1_vm32y)], N4 },
								new object[] { Vk_VSIB, zmm0, zmm0, code[nameof(Code.EVEX_Vpgatherdd_zmm_k1_vm32z)], N4 },
							},
							new object[] { VectorLength,
								new object[] { Vk_VSIB, xmm0, xmm0, code[nameof(Code.EVEX_Vpgatherdq_xmm_k1_vm32x)], N8 },
								new object[] { Vk_VSIB, ymm0, xmm0, code[nameof(Code.EVEX_Vpgatherdq_ymm_k1_vm32x)], N8 },
								new object[] { Vk_VSIB, zmm0, ymm0, code[nameof(Code.EVEX_Vpgatherdq_zmm_k1_vm32y)], N8 },
							},
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { Vk_VSIB, xmm0, xmm0, code[nameof(Code.EVEX_Vpgatherqd_xmm_k1_vm64x)], N4 },
								new object[] { Vk_VSIB, xmm0, ymm0, code[nameof(Code.EVEX_Vpgatherqd_xmm_k1_vm64y)], N4 },
								new object[] { Vk_VSIB, ymm0, zmm0, code[nameof(Code.EVEX_Vpgatherqd_ymm_k1_vm64z)], N4 },
							},
							new object[] { VectorLength,
								new object[] { Vk_VSIB, xmm0, xmm0, code[nameof(Code.EVEX_Vpgatherqq_xmm_k1_vm64x)], N8 },
								new object[] { Vk_VSIB, ymm0, ymm0, code[nameof(Code.EVEX_Vpgatherqq_ymm_k1_vm64y)], N8 },
								new object[] { Vk_VSIB, zmm0, zmm0, code[nameof(Code.EVEX_Vpgatherqq_zmm_k1_vm64z)], N8 },
							},
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { Vk_VSIB, xmm0, xmm0, code[nameof(Code.EVEX_Vgatherdps_xmm_k1_vm32x)], N4 },
								new object[] { Vk_VSIB, ymm0, ymm0, code[nameof(Code.EVEX_Vgatherdps_ymm_k1_vm32y)], N4 },
								new object[] { Vk_VSIB, zmm0, zmm0, code[nameof(Code.EVEX_Vgatherdps_zmm_k1_vm32z)], N4 },
							},
							new object[] { VectorLength,
								new object[] { Vk_VSIB, xmm0, xmm0, code[nameof(Code.EVEX_Vgatherdpd_xmm_k1_vm32x)], N8 },
								new object[] { Vk_VSIB, ymm0, xmm0, code[nameof(Code.EVEX_Vgatherdpd_ymm_k1_vm32x)], N8 },
								new object[] { Vk_VSIB, zmm0, ymm0, code[nameof(Code.EVEX_Vgatherdpd_zmm_k1_vm32y)], N8 },
							},
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { Vk_VSIB, xmm0, xmm0, code[nameof(Code.EVEX_Vgatherqps_xmm_k1_vm64x)], N4 },
								new object[] { Vk_VSIB, xmm0, ymm0, code[nameof(Code.EVEX_Vgatherqps_xmm_k1_vm64y)], N4 },
								new object[] { Vk_VSIB, ymm0, zmm0, code[nameof(Code.EVEX_Vgatherqps_ymm_k1_vm64z)], N4 },
							},
							new object[] { VectorLength,
								new object[] { Vk_VSIB, xmm0, xmm0, code[nameof(Code.EVEX_Vgatherqpd_xmm_k1_vm64x)], N8 },
								new object[] { Vk_VSIB, ymm0, ymm0, code[nameof(Code.EVEX_Vgatherqpd_ymm_k1_vm64y)], N8 },
								new object[] { Vk_VSIB, zmm0, zmm0, code[nameof(Code.EVEX_Vgatherqpd_zmm_k1_vm64z)], N8 },
							},
						},
						invalid,
						invalid,
					},
					invalid,
					invalid,
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength_er,
								new object[] { VkHW_er_4b, xmm0, code[nameof(Code.EVEX_Vfmaddsub132ps_xmm_k1z_xmm_xmmm128b32)], N16b4, false },
								new object[] { VkHW_er_4b, ymm0, code[nameof(Code.EVEX_Vfmaddsub132ps_ymm_k1z_ymm_ymmm256b32)], N32b4, false },
								new object[] { VkHW_er_4b, zmm0, code[nameof(Code.EVEX_Vfmaddsub132ps_zmm_k1z_zmm_zmmm512b32_er)], N64b4, false },
							},
							new object[] { VectorLength_er,
								new object[] { VkHW_er_4b, xmm0, code[nameof(Code.EVEX_Vfmaddsub132pd_xmm_k1z_xmm_xmmm128b64)], N16b8, false },
								new object[] { VkHW_er_4b, ymm0, code[nameof(Code.EVEX_Vfmaddsub132pd_ymm_k1z_ymm_ymmm256b64)], N32b8, false },
								new object[] { VkHW_er_4b, zmm0, code[nameof(Code.EVEX_Vfmaddsub132pd_zmm_k1z_zmm_zmmm512b64_er)], N64b8, false },
							},
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength_er,
								new object[] { VkHW_er_4b, xmm0, code[nameof(Code.EVEX_Vfmsubadd132ps_xmm_k1z_xmm_xmmm128b32)], N16b4, false },
								new object[] { VkHW_er_4b, ymm0, code[nameof(Code.EVEX_Vfmsubadd132ps_ymm_k1z_ymm_ymmm256b32)], N32b4, false },
								new object[] { VkHW_er_4b, zmm0, code[nameof(Code.EVEX_Vfmsubadd132ps_zmm_k1z_zmm_zmmm512b32_er)], N64b4, false },
							},
							new object[] { VectorLength_er,
								new object[] { VkHW_er_4b, xmm0, code[nameof(Code.EVEX_Vfmsubadd132pd_xmm_k1z_xmm_xmmm128b64)], N16b8, false },
								new object[] { VkHW_er_4b, ymm0, code[nameof(Code.EVEX_Vfmsubadd132pd_ymm_k1z_ymm_ymmm256b64)], N32b8, false },
								new object[] { VkHW_er_4b, zmm0, code[nameof(Code.EVEX_Vfmsubadd132pd_zmm_k1z_zmm_zmmm512b64_er)], N64b8, false },
							},
						},
						invalid,
						invalid,
					},

					// 98
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength_er,
								new object[] { VkHW_er_4b, xmm0, code[nameof(Code.EVEX_Vfmadd132ps_xmm_k1z_xmm_xmmm128b32)], N16b4, false },
								new object[] { VkHW_er_4b, ymm0, code[nameof(Code.EVEX_Vfmadd132ps_ymm_k1z_ymm_ymmm256b32)], N32b4, false },
								new object[] { VkHW_er_4b, zmm0, code[nameof(Code.EVEX_Vfmadd132ps_zmm_k1z_zmm_zmmm512b32_er)], N64b4, false },
							},
							new object[] { VectorLength_er,
								new object[] { VkHW_er_4b, xmm0, code[nameof(Code.EVEX_Vfmadd132pd_xmm_k1z_xmm_xmmm128b64)], N16b8, false },
								new object[] { VkHW_er_4b, ymm0, code[nameof(Code.EVEX_Vfmadd132pd_ymm_k1z_ymm_ymmm256b64)], N32b8, false },
								new object[] { VkHW_er_4b, zmm0, code[nameof(Code.EVEX_Vfmadd132pd_zmm_k1z_zmm_zmmm512b64_er)], N64b8, false },
							},
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VkHW_er_4, xmm0, code[nameof(Code.EVEX_Vfmadd132ss_xmm_k1z_xmm_xmmm32_er)], N4, false },
							new object[] { VkHW_er_4, xmm0, code[nameof(Code.EVEX_Vfmadd132sd_xmm_k1z_xmm_xmmm64_er)], N8, false },
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength_er,
								new object[] { VkHW_er_4b, xmm0, code[nameof(Code.EVEX_Vfmsub132ps_xmm_k1z_xmm_xmmm128b32)], N16b4, false },
								new object[] { VkHW_er_4b, ymm0, code[nameof(Code.EVEX_Vfmsub132ps_ymm_k1z_ymm_ymmm256b32)], N32b4, false },
								new object[] { VkHW_er_4b, zmm0, code[nameof(Code.EVEX_Vfmsub132ps_zmm_k1z_zmm_zmmm512b32_er)], N64b4, false },
							},
							new object[] { VectorLength_er,
								new object[] { VkHW_er_4b, xmm0, code[nameof(Code.EVEX_Vfmsub132pd_xmm_k1z_xmm_xmmm128b64)], N16b8, false },
								new object[] { VkHW_er_4b, ymm0, code[nameof(Code.EVEX_Vfmsub132pd_ymm_k1z_ymm_ymmm256b64)], N32b8, false },
								new object[] { VkHW_er_4b, zmm0, code[nameof(Code.EVEX_Vfmsub132pd_zmm_k1z_zmm_zmmm512b64_er)], N64b8, false },
							},
						},
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								invalid,
								invalid,
								new object[] { VkHM, zmm0, code[nameof(Code.EVEX_V4fmaddps_zmm_k1z_zmmp3_m128)], N16 },
							},
							invalid,
						},
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VkHW_er_4, xmm0, code[nameof(Code.EVEX_Vfmsub132ss_xmm_k1z_xmm_xmmm32_er)], N4, false },
							new object[] { VkHW_er_4, xmm0, code[nameof(Code.EVEX_Vfmsub132sd_xmm_k1z_xmm_xmmm64_er)], N8, false },
						},
						invalid,
						new object[] { W,
							new object[] { VkHM, xmm0, code[nameof(Code.EVEX_V4fmaddss_xmm_k1z_xmmp3_m128)], N16 },
							invalid,
						},
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength_er,
								new object[] { VkHW_er_4b, xmm0, code[nameof(Code.EVEX_Vfnmadd132ps_xmm_k1z_xmm_xmmm128b32)], N16b4, false },
								new object[] { VkHW_er_4b, ymm0, code[nameof(Code.EVEX_Vfnmadd132ps_ymm_k1z_ymm_ymmm256b32)], N32b4, false },
								new object[] { VkHW_er_4b, zmm0, code[nameof(Code.EVEX_Vfnmadd132ps_zmm_k1z_zmm_zmmm512b32_er)], N64b4, false },
							},
							new object[] { VectorLength_er,
								new object[] { VkHW_er_4b, xmm0, code[nameof(Code.EVEX_Vfnmadd132pd_xmm_k1z_xmm_xmmm128b64)], N16b8, false },
								new object[] { VkHW_er_4b, ymm0, code[nameof(Code.EVEX_Vfnmadd132pd_ymm_k1z_ymm_ymmm256b64)], N32b8, false },
								new object[] { VkHW_er_4b, zmm0, code[nameof(Code.EVEX_Vfnmadd132pd_zmm_k1z_zmm_zmmm512b64_er)], N64b8, false },
							},
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VkHW_er_4, xmm0, code[nameof(Code.EVEX_Vfnmadd132ss_xmm_k1z_xmm_xmmm32_er)], N4, false },
							new object[] { VkHW_er_4, xmm0, code[nameof(Code.EVEX_Vfnmadd132sd_xmm_k1z_xmm_xmmm64_er)], N8, false },
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength_er,
								new object[] { VkHW_er_4b, xmm0, code[nameof(Code.EVEX_Vfnmsub132ps_xmm_k1z_xmm_xmmm128b32)], N16b4, false },
								new object[] { VkHW_er_4b, ymm0, code[nameof(Code.EVEX_Vfnmsub132ps_ymm_k1z_ymm_ymmm256b32)], N32b4, false },
								new object[] { VkHW_er_4b, zmm0, code[nameof(Code.EVEX_Vfnmsub132ps_zmm_k1z_zmm_zmmm512b32_er)], N64b4, false },
							},
							new object[] { VectorLength_er,
								new object[] { VkHW_er_4b, xmm0, code[nameof(Code.EVEX_Vfnmsub132pd_xmm_k1z_xmm_xmmm128b64)], N16b8, false },
								new object[] { VkHW_er_4b, ymm0, code[nameof(Code.EVEX_Vfnmsub132pd_ymm_k1z_ymm_ymmm256b64)], N32b8, false },
								new object[] { VkHW_er_4b, zmm0, code[nameof(Code.EVEX_Vfnmsub132pd_zmm_k1z_zmm_zmmm512b64_er)], N64b8, false },
							},
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VkHW_er_4, xmm0, code[nameof(Code.EVEX_Vfnmsub132ss_xmm_k1z_xmm_xmmm32_er)], N4, false },
							new object[] { VkHW_er_4, xmm0, code[nameof(Code.EVEX_Vfnmsub132sd_xmm_k1z_xmm_xmmm64_er)], N8, false },
						},
						invalid,
						invalid,
					},

					// A0
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { VSIB_k1_VX, xmm0, xmm0, code[nameof(Code.EVEX_Vpscatterdd_vm32x_k1_xmm)], N4 },
								new object[] { VSIB_k1_VX, ymm0, ymm0, code[nameof(Code.EVEX_Vpscatterdd_vm32y_k1_ymm)], N4 },
								new object[] { VSIB_k1_VX, zmm0, zmm0, code[nameof(Code.EVEX_Vpscatterdd_vm32z_k1_zmm)], N4 },
							},
							new object[] { VectorLength,
								new object[] { VSIB_k1_VX, xmm0, xmm0, code[nameof(Code.EVEX_Vpscatterdq_vm32x_k1_xmm)], N8 },
								new object[] { VSIB_k1_VX, xmm0, ymm0, code[nameof(Code.EVEX_Vpscatterdq_vm32x_k1_ymm)], N8 },
								new object[] { VSIB_k1_VX, ymm0, zmm0, code[nameof(Code.EVEX_Vpscatterdq_vm32y_k1_zmm)], N8 },
							},
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { VSIB_k1_VX, xmm0, xmm0, code[nameof(Code.EVEX_Vpscatterqd_vm64x_k1_xmm)], N4 },
								new object[] { VSIB_k1_VX, ymm0, xmm0, code[nameof(Code.EVEX_Vpscatterqd_vm64y_k1_xmm)], N4 },
								new object[] { VSIB_k1_VX, zmm0, ymm0, code[nameof(Code.EVEX_Vpscatterqd_vm64z_k1_ymm)], N4 },
							},
							new object[] { VectorLength,
								new object[] { VSIB_k1_VX, xmm0, xmm0, code[nameof(Code.EVEX_Vpscatterqq_vm64x_k1_xmm)], N8 },
								new object[] { VSIB_k1_VX, ymm0, ymm0, code[nameof(Code.EVEX_Vpscatterqq_vm64y_k1_ymm)], N8 },
								new object[] { VSIB_k1_VX, zmm0, zmm0, code[nameof(Code.EVEX_Vpscatterqq_vm64z_k1_zmm)], N8 },
							},
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { VSIB_k1_VX, xmm0, xmm0, code[nameof(Code.EVEX_Vscatterdps_vm32x_k1_xmm)], N4 },
								new object[] { VSIB_k1_VX, ymm0, ymm0, code[nameof(Code.EVEX_Vscatterdps_vm32y_k1_ymm)], N4 },
								new object[] { VSIB_k1_VX, zmm0, zmm0, code[nameof(Code.EVEX_Vscatterdps_vm32z_k1_zmm)], N4 },
							},
							new object[] { VectorLength,
								new object[] { VSIB_k1_VX, xmm0, xmm0, code[nameof(Code.EVEX_Vscatterdpd_vm32x_k1_xmm)], N8 },
								new object[] { VSIB_k1_VX, xmm0, ymm0, code[nameof(Code.EVEX_Vscatterdpd_vm32x_k1_ymm)], N8 },
								new object[] { VSIB_k1_VX, ymm0, zmm0, code[nameof(Code.EVEX_Vscatterdpd_vm32y_k1_zmm)], N8 },
							},
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { VSIB_k1_VX, xmm0, xmm0, code[nameof(Code.EVEX_Vscatterqps_vm64x_k1_xmm)], N4 },
								new object[] { VSIB_k1_VX, ymm0, xmm0, code[nameof(Code.EVEX_Vscatterqps_vm64y_k1_xmm)], N4 },
								new object[] { VSIB_k1_VX, zmm0, ymm0, code[nameof(Code.EVEX_Vscatterqps_vm64z_k1_ymm)], N4 },
							},
							new object[] { VectorLength,
								new object[] { VSIB_k1_VX, xmm0, xmm0, code[nameof(Code.EVEX_Vscatterqpd_vm64x_k1_xmm)], N8 },
								new object[] { VSIB_k1_VX, ymm0, ymm0, code[nameof(Code.EVEX_Vscatterqpd_vm64y_k1_ymm)], N8 },
								new object[] { VSIB_k1_VX, zmm0, zmm0, code[nameof(Code.EVEX_Vscatterqpd_vm64z_k1_zmm)], N8 },
							},
						},
						invalid,
						invalid,
					},
					invalid,
					invalid,
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength_er,
								new object[] { VkHW_er_4b, xmm0, code[nameof(Code.EVEX_Vfmaddsub213ps_xmm_k1z_xmm_xmmm128b32)], N16b4, false },
								new object[] { VkHW_er_4b, ymm0, code[nameof(Code.EVEX_Vfmaddsub213ps_ymm_k1z_ymm_ymmm256b32)], N32b4, false },
								new object[] { VkHW_er_4b, zmm0, code[nameof(Code.EVEX_Vfmaddsub213ps_zmm_k1z_zmm_zmmm512b32_er)], N64b4, false },
							},
							new object[] { VectorLength_er,
								new object[] { VkHW_er_4b, xmm0, code[nameof(Code.EVEX_Vfmaddsub213pd_xmm_k1z_xmm_xmmm128b64)], N16b8, false },
								new object[] { VkHW_er_4b, ymm0, code[nameof(Code.EVEX_Vfmaddsub213pd_ymm_k1z_ymm_ymmm256b64)], N32b8, false },
								new object[] { VkHW_er_4b, zmm0, code[nameof(Code.EVEX_Vfmaddsub213pd_zmm_k1z_zmm_zmmm512b64_er)], N64b8, false },
							},
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength_er,
								new object[] { VkHW_er_4b, xmm0, code[nameof(Code.EVEX_Vfmsubadd213ps_xmm_k1z_xmm_xmmm128b32)], N16b4, false },
								new object[] { VkHW_er_4b, ymm0, code[nameof(Code.EVEX_Vfmsubadd213ps_ymm_k1z_ymm_ymmm256b32)], N32b4, false },
								new object[] { VkHW_er_4b, zmm0, code[nameof(Code.EVEX_Vfmsubadd213ps_zmm_k1z_zmm_zmmm512b32_er)], N64b4, false },
							},
							new object[] { VectorLength_er,
								new object[] { VkHW_er_4b, xmm0, code[nameof(Code.EVEX_Vfmsubadd213pd_xmm_k1z_xmm_xmmm128b64)], N16b8, false },
								new object[] { VkHW_er_4b, ymm0, code[nameof(Code.EVEX_Vfmsubadd213pd_ymm_k1z_ymm_ymmm256b64)], N32b8, false },
								new object[] { VkHW_er_4b, zmm0, code[nameof(Code.EVEX_Vfmsubadd213pd_zmm_k1z_zmm_zmmm512b64_er)], N64b8, false },
							},
						},
						invalid,
						invalid,
					},

					// A8
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength_er,
								new object[] { VkHW_er_4b, xmm0, code[nameof(Code.EVEX_Vfmadd213ps_xmm_k1z_xmm_xmmm128b32)], N16b4, false },
								new object[] { VkHW_er_4b, ymm0, code[nameof(Code.EVEX_Vfmadd213ps_ymm_k1z_ymm_ymmm256b32)], N32b4, false },
								new object[] { VkHW_er_4b, zmm0, code[nameof(Code.EVEX_Vfmadd213ps_zmm_k1z_zmm_zmmm512b32_er)], N64b4, false },
							},
							new object[] { VectorLength_er,
								new object[] { VkHW_er_4b, xmm0, code[nameof(Code.EVEX_Vfmadd213pd_xmm_k1z_xmm_xmmm128b64)], N16b8, false },
								new object[] { VkHW_er_4b, ymm0, code[nameof(Code.EVEX_Vfmadd213pd_ymm_k1z_ymm_ymmm256b64)], N32b8, false },
								new object[] { VkHW_er_4b, zmm0, code[nameof(Code.EVEX_Vfmadd213pd_zmm_k1z_zmm_zmmm512b64_er)], N64b8, false },
							},
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VkHW_er_4, xmm0, code[nameof(Code.EVEX_Vfmadd213ss_xmm_k1z_xmm_xmmm32_er)], N4, false },
							new object[] { VkHW_er_4, xmm0, code[nameof(Code.EVEX_Vfmadd213sd_xmm_k1z_xmm_xmmm64_er)], N8, false },
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength_er,
								new object[] { VkHW_er_4b, xmm0, code[nameof(Code.EVEX_Vfmsub213ps_xmm_k1z_xmm_xmmm128b32)], N16b4, false },
								new object[] { VkHW_er_4b, ymm0, code[nameof(Code.EVEX_Vfmsub213ps_ymm_k1z_ymm_ymmm256b32)], N32b4, false },
								new object[] { VkHW_er_4b, zmm0, code[nameof(Code.EVEX_Vfmsub213ps_zmm_k1z_zmm_zmmm512b32_er)], N64b4, false },
							},
							new object[] { VectorLength_er,
								new object[] { VkHW_er_4b, xmm0, code[nameof(Code.EVEX_Vfmsub213pd_xmm_k1z_xmm_xmmm128b64)], N16b8, false },
								new object[] { VkHW_er_4b, ymm0, code[nameof(Code.EVEX_Vfmsub213pd_ymm_k1z_ymm_ymmm256b64)], N32b8, false },
								new object[] { VkHW_er_4b, zmm0, code[nameof(Code.EVEX_Vfmsub213pd_zmm_k1z_zmm_zmmm512b64_er)], N64b8, false },
							},
						},
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								invalid,
								invalid,
								new object[] { VkHM, zmm0, code[nameof(Code.EVEX_V4fnmaddps_zmm_k1z_zmmp3_m128)], N16 },
							},
							invalid,
						},
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VkHW_er_4, xmm0, code[nameof(Code.EVEX_Vfmsub213ss_xmm_k1z_xmm_xmmm32_er)], N4, false },
							new object[] { VkHW_er_4, xmm0, code[nameof(Code.EVEX_Vfmsub213sd_xmm_k1z_xmm_xmmm64_er)], N8, false },
						},
						invalid,
						new object[] { W,
							new object[] { VkHM, xmm0, code[nameof(Code.EVEX_V4fnmaddss_xmm_k1z_xmmp3_m128)], N16 },
							invalid,
						},
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength_er,
								new object[] { VkHW_er_4b, xmm0, code[nameof(Code.EVEX_Vfnmadd213ps_xmm_k1z_xmm_xmmm128b32)], N16b4, false },
								new object[] { VkHW_er_4b, ymm0, code[nameof(Code.EVEX_Vfnmadd213ps_ymm_k1z_ymm_ymmm256b32)], N32b4, false },
								new object[] { VkHW_er_4b, zmm0, code[nameof(Code.EVEX_Vfnmadd213ps_zmm_k1z_zmm_zmmm512b32_er)], N64b4, false },
							},
							new object[] { VectorLength_er,
								new object[] { VkHW_er_4b, xmm0, code[nameof(Code.EVEX_Vfnmadd213pd_xmm_k1z_xmm_xmmm128b64)], N16b8, false },
								new object[] { VkHW_er_4b, ymm0, code[nameof(Code.EVEX_Vfnmadd213pd_ymm_k1z_ymm_ymmm256b64)], N32b8, false },
								new object[] { VkHW_er_4b, zmm0, code[nameof(Code.EVEX_Vfnmadd213pd_zmm_k1z_zmm_zmmm512b64_er)], N64b8, false },
							},
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VkHW_er_4, xmm0, code[nameof(Code.EVEX_Vfnmadd213ss_xmm_k1z_xmm_xmmm32_er)], N4, false },
							new object[] { VkHW_er_4, xmm0, code[nameof(Code.EVEX_Vfnmadd213sd_xmm_k1z_xmm_xmmm64_er)], N8, false },
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength_er,
								new object[] { VkHW_er_4b, xmm0, code[nameof(Code.EVEX_Vfnmsub213ps_xmm_k1z_xmm_xmmm128b32)], N16b4, false },
								new object[] { VkHW_er_4b, ymm0, code[nameof(Code.EVEX_Vfnmsub213ps_ymm_k1z_ymm_ymmm256b32)], N32b4, false },
								new object[] { VkHW_er_4b, zmm0, code[nameof(Code.EVEX_Vfnmsub213ps_zmm_k1z_zmm_zmmm512b32_er)], N64b4, false },
							},
							new object[] { VectorLength_er,
								new object[] { VkHW_er_4b, xmm0, code[nameof(Code.EVEX_Vfnmsub213pd_xmm_k1z_xmm_xmmm128b64)], N16b8, false },
								new object[] { VkHW_er_4b, ymm0, code[nameof(Code.EVEX_Vfnmsub213pd_ymm_k1z_ymm_ymmm256b64)], N32b8, false },
								new object[] { VkHW_er_4b, zmm0, code[nameof(Code.EVEX_Vfnmsub213pd_zmm_k1z_zmm_zmmm512b64_er)], N64b8, false },
							},
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VkHW_er_4, xmm0, code[nameof(Code.EVEX_Vfnmsub213ss_xmm_k1z_xmm_xmmm32_er)], N4, false },
							new object[] { VkHW_er_4, xmm0, code[nameof(Code.EVEX_Vfnmsub213sd_xmm_k1z_xmm_xmmm64_er)], N8, false },
						},
						invalid,
						invalid,
					},

					// B0
					invalid,
					invalid,
					invalid,
					invalid,
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							invalid,
							new object[] { VectorLength,
								new object[] { VkHW_3b, xmm0, code[nameof(Code.EVEX_Vpmadd52luq_xmm_k1z_xmm_xmmm128b64)], N16b8 },
								new object[] { VkHW_3b, ymm0, code[nameof(Code.EVEX_Vpmadd52luq_ymm_k1z_ymm_ymmm256b64)], N32b8 },
								new object[] { VkHW_3b, zmm0, code[nameof(Code.EVEX_Vpmadd52luq_zmm_k1z_zmm_zmmm512b64)], N64b8 },
							},
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							invalid,
							new object[] { VectorLength,
								new object[] { VkHW_3b, xmm0, code[nameof(Code.EVEX_Vpmadd52huq_xmm_k1z_xmm_xmmm128b64)], N16b8 },
								new object[] { VkHW_3b, ymm0, code[nameof(Code.EVEX_Vpmadd52huq_ymm_k1z_ymm_ymmm256b64)], N32b8 },
								new object[] { VkHW_3b, zmm0, code[nameof(Code.EVEX_Vpmadd52huq_zmm_k1z_zmm_zmmm512b64)], N64b8 },
							},
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength_er,
								new object[] { VkHW_er_4b, xmm0, code[nameof(Code.EVEX_Vfmaddsub231ps_xmm_k1z_xmm_xmmm128b32)], N16b4, false },
								new object[] { VkHW_er_4b, ymm0, code[nameof(Code.EVEX_Vfmaddsub231ps_ymm_k1z_ymm_ymmm256b32)], N32b4, false },
								new object[] { VkHW_er_4b, zmm0, code[nameof(Code.EVEX_Vfmaddsub231ps_zmm_k1z_zmm_zmmm512b32_er)], N64b4, false },
							},
							new object[] { VectorLength_er,
								new object[] { VkHW_er_4b, xmm0, code[nameof(Code.EVEX_Vfmaddsub231pd_xmm_k1z_xmm_xmmm128b64)], N16b8, false },
								new object[] { VkHW_er_4b, ymm0, code[nameof(Code.EVEX_Vfmaddsub231pd_ymm_k1z_ymm_ymmm256b64)], N32b8, false },
								new object[] { VkHW_er_4b, zmm0, code[nameof(Code.EVEX_Vfmaddsub231pd_zmm_k1z_zmm_zmmm512b64_er)], N64b8, false },
							},
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength_er,
								new object[] { VkHW_er_4b, xmm0, code[nameof(Code.EVEX_Vfmsubadd231ps_xmm_k1z_xmm_xmmm128b32)], N16b4, false },
								new object[] { VkHW_er_4b, ymm0, code[nameof(Code.EVEX_Vfmsubadd231ps_ymm_k1z_ymm_ymmm256b32)], N32b4, false },
								new object[] { VkHW_er_4b, zmm0, code[nameof(Code.EVEX_Vfmsubadd231ps_zmm_k1z_zmm_zmmm512b32_er)], N64b4, false },
							},
							new object[] { VectorLength_er,
								new object[] { VkHW_er_4b, xmm0, code[nameof(Code.EVEX_Vfmsubadd231pd_xmm_k1z_xmm_xmmm128b64)], N16b8, false },
								new object[] { VkHW_er_4b, ymm0, code[nameof(Code.EVEX_Vfmsubadd231pd_ymm_k1z_ymm_ymmm256b64)], N32b8, false },
								new object[] { VkHW_er_4b, zmm0, code[nameof(Code.EVEX_Vfmsubadd231pd_zmm_k1z_zmm_zmmm512b64_er)], N64b8, false },
							},
						},
						invalid,
						invalid,
					},

					// B8
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength_er,
								new object[] { VkHW_er_4b, xmm0, code[nameof(Code.EVEX_Vfmadd231ps_xmm_k1z_xmm_xmmm128b32)], N16b4, false },
								new object[] { VkHW_er_4b, ymm0, code[nameof(Code.EVEX_Vfmadd231ps_ymm_k1z_ymm_ymmm256b32)], N32b4, false },
								new object[] { VkHW_er_4b, zmm0, code[nameof(Code.EVEX_Vfmadd231ps_zmm_k1z_zmm_zmmm512b32_er)], N64b4, false },
							},
							new object[] { VectorLength_er,
								new object[] { VkHW_er_4b, xmm0, code[nameof(Code.EVEX_Vfmadd231pd_xmm_k1z_xmm_xmmm128b64)], N16b8, false },
								new object[] { VkHW_er_4b, ymm0, code[nameof(Code.EVEX_Vfmadd231pd_ymm_k1z_ymm_ymmm256b64)], N32b8, false },
								new object[] { VkHW_er_4b, zmm0, code[nameof(Code.EVEX_Vfmadd231pd_zmm_k1z_zmm_zmmm512b64_er)], N64b8, false },
							},
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VkHW_er_4, xmm0, code[nameof(Code.EVEX_Vfmadd231ss_xmm_k1z_xmm_xmmm32_er)], N4, false },
							new object[] { VkHW_er_4, xmm0, code[nameof(Code.EVEX_Vfmadd231sd_xmm_k1z_xmm_xmmm64_er)], N8, false },
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength_er,
								new object[] { VkHW_er_4b, xmm0, code[nameof(Code.EVEX_Vfmsub231ps_xmm_k1z_xmm_xmmm128b32)], N16b4, false },
								new object[] { VkHW_er_4b, ymm0, code[nameof(Code.EVEX_Vfmsub231ps_ymm_k1z_ymm_ymmm256b32)], N32b4, false },
								new object[] { VkHW_er_4b, zmm0, code[nameof(Code.EVEX_Vfmsub231ps_zmm_k1z_zmm_zmmm512b32_er)], N64b4, false },
							},
							new object[] { VectorLength_er,
								new object[] { VkHW_er_4b, xmm0, code[nameof(Code.EVEX_Vfmsub231pd_xmm_k1z_xmm_xmmm128b64)], N16b8, false },
								new object[] { VkHW_er_4b, ymm0, code[nameof(Code.EVEX_Vfmsub231pd_ymm_k1z_ymm_ymmm256b64)], N32b8, false },
								new object[] { VkHW_er_4b, zmm0, code[nameof(Code.EVEX_Vfmsub231pd_zmm_k1z_zmm_zmmm512b64_er)], N64b8, false },
							},
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VkHW_er_4, xmm0, code[nameof(Code.EVEX_Vfmsub231ss_xmm_k1z_xmm_xmmm32_er)], N4, false },
							new object[] { VkHW_er_4, xmm0, code[nameof(Code.EVEX_Vfmsub231sd_xmm_k1z_xmm_xmmm64_er)], N8, false },
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength_er,
								new object[] { VkHW_er_4b, xmm0, code[nameof(Code.EVEX_Vfnmadd231ps_xmm_k1z_xmm_xmmm128b32)], N16b4, false },
								new object[] { VkHW_er_4b, ymm0, code[nameof(Code.EVEX_Vfnmadd231ps_ymm_k1z_ymm_ymmm256b32)], N32b4, false },
								new object[] { VkHW_er_4b, zmm0, code[nameof(Code.EVEX_Vfnmadd231ps_zmm_k1z_zmm_zmmm512b32_er)], N64b4, false },
							},
							new object[] { VectorLength_er,
								new object[] { VkHW_er_4b, xmm0, code[nameof(Code.EVEX_Vfnmadd231pd_xmm_k1z_xmm_xmmm128b64)], N16b8, false },
								new object[] { VkHW_er_4b, ymm0, code[nameof(Code.EVEX_Vfnmadd231pd_ymm_k1z_ymm_ymmm256b64)], N32b8, false },
								new object[] { VkHW_er_4b, zmm0, code[nameof(Code.EVEX_Vfnmadd231pd_zmm_k1z_zmm_zmmm512b64_er)], N64b8, false },
							},
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VkHW_er_4, xmm0, code[nameof(Code.EVEX_Vfnmadd231ss_xmm_k1z_xmm_xmmm32_er)], N4, false },
							new object[] { VkHW_er_4, xmm0, code[nameof(Code.EVEX_Vfnmadd231sd_xmm_k1z_xmm_xmmm64_er)], N8, false },
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength_er,
								new object[] { VkHW_er_4b, xmm0, code[nameof(Code.EVEX_Vfnmsub231ps_xmm_k1z_xmm_xmmm128b32)], N16b4, false },
								new object[] { VkHW_er_4b, ymm0, code[nameof(Code.EVEX_Vfnmsub231ps_ymm_k1z_ymm_ymmm256b32)], N32b4, false },
								new object[] { VkHW_er_4b, zmm0, code[nameof(Code.EVEX_Vfnmsub231ps_zmm_k1z_zmm_zmmm512b32_er)], N64b4, false },
							},
							new object[] { VectorLength_er,
								new object[] { VkHW_er_4b, xmm0, code[nameof(Code.EVEX_Vfnmsub231pd_xmm_k1z_xmm_xmmm128b64)], N16b8, false },
								new object[] { VkHW_er_4b, ymm0, code[nameof(Code.EVEX_Vfnmsub231pd_ymm_k1z_ymm_ymmm256b64)], N32b8, false },
								new object[] { VkHW_er_4b, zmm0, code[nameof(Code.EVEX_Vfnmsub231pd_zmm_k1z_zmm_zmmm512b64_er)], N64b8, false },
							},
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VkHW_er_4, xmm0, code[nameof(Code.EVEX_Vfnmsub231ss_xmm_k1z_xmm_xmmm32_er)], N4, false },
							new object[] { VkHW_er_4, xmm0, code[nameof(Code.EVEX_Vfnmsub231sd_xmm_k1z_xmm_xmmm64_er)], N8, false },
						},
						invalid,
						invalid,
					},

					// C0
					invalid,
					invalid,
					invalid,
					invalid,
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { VkW_3b, xmm0, code[nameof(Code.EVEX_Vpconflictd_xmm_k1z_xmmm128b32)], N16b4 },
								new object[] { VkW_3b, ymm0, code[nameof(Code.EVEX_Vpconflictd_ymm_k1z_ymmm256b32)], N32b4 },
								new object[] { VkW_3b, zmm0, code[nameof(Code.EVEX_Vpconflictd_zmm_k1z_zmmm512b32)], N64b4 },
							},
							new object[] { VectorLength,
								new object[] { VkW_3b, xmm0, code[nameof(Code.EVEX_Vpconflictq_xmm_k1z_xmmm128b64)], N16b8 },
								new object[] { VkW_3b, ymm0, code[nameof(Code.EVEX_Vpconflictq_ymm_k1z_ymmm256b64)], N32b8 },
								new object[] { VkW_3b, zmm0, code[nameof(Code.EVEX_Vpconflictq_zmm_k1z_zmmm512b64)], N64b8 },
							},
						},
						invalid,
						invalid,
					},
					invalid,
					new object[] { Group, "handlers_Grp_0F38C6" },
					new object[] { Group, "handlers_Grp_0F38C7" },

					// C8
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength_er,
								invalid,
								invalid,
								new object[] { VkW_er_4, zmm0, code[nameof(Code.EVEX_Vexp2ps_zmm_k1z_zmmm512b32_sae)], N64b4, true },
							},
							new object[] { VectorLength_er,
								invalid,
								invalid,
								new object[] { VkW_er_4, zmm0, code[nameof(Code.EVEX_Vexp2pd_zmm_k1z_zmmm512b64_sae)], N64b8, true },
							},
						},
						invalid,
						invalid,
					},
					invalid,
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength_er,
								invalid,
								invalid,
								new object[] { VkW_er_4, zmm0, code[nameof(Code.EVEX_Vrcp28ps_zmm_k1z_zmmm512b32_sae)], N64b4, true },
							},
							new object[] { VectorLength_er,
								invalid,
								invalid,
								new object[] { VkW_er_4, zmm0, code[nameof(Code.EVEX_Vrcp28pd_zmm_k1z_zmmm512b64_sae)], N64b8, true },
							},
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VkHW_er_4, xmm0, code[nameof(Code.EVEX_Vrcp28ss_xmm_k1z_xmm_xmmm32_sae)], N4, true },
							new object[] { VkHW_er_4, xmm0, code[nameof(Code.EVEX_Vrcp28sd_xmm_k1z_xmm_xmmm64_sae)], N8, true },
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength_er,
								invalid,
								invalid,
								new object[] { VkW_er_4, zmm0, code[nameof(Code.EVEX_Vrsqrt28ps_zmm_k1z_zmmm512b32_sae)], N64b4, true },
							},
							new object[] { VectorLength_er,
								invalid,
								invalid,
								new object[] { VkW_er_4, zmm0, code[nameof(Code.EVEX_Vrsqrt28pd_zmm_k1z_zmmm512b64_sae)], N64b8, true },
							},
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VkHW_er_4, xmm0, code[nameof(Code.EVEX_Vrsqrt28ss_xmm_k1z_xmm_xmmm32_sae)], N4, true },
							new object[] { VkHW_er_4, xmm0, code[nameof(Code.EVEX_Vrsqrt28sd_xmm_k1z_xmm_xmmm64_sae)], N8, true },
						},
						invalid,
						invalid,
					},
					invalid,
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { VkHW_3, xmm0, code[nameof(Code.EVEX_Vgf2p8mulb_xmm_k1z_xmm_xmmm128)], N16 },
								new object[] { VkHW_3, ymm0, code[nameof(Code.EVEX_Vgf2p8mulb_ymm_k1z_ymm_ymmm256)], N32 },
								new object[] { VkHW_3, zmm0, code[nameof(Code.EVEX_Vgf2p8mulb_zmm_k1z_zmm_zmmm512)], N64 },
							},
							invalid,
						},
						invalid,
						invalid,
					},

					// D0
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,

					// D8
					invalid,
					invalid,
					invalid,
					invalid,
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { VectorLength,
							new object[] { VHW_3, xmm0, code[nameof(Code.EVEX_Vaesenc_xmm_xmm_xmmm128)], N16 },
							new object[] { VHW_3, ymm0, code[nameof(Code.EVEX_Vaesenc_ymm_ymm_ymmm256)], N32 },
							new object[] { VHW_3, zmm0, code[nameof(Code.EVEX_Vaesenc_zmm_zmm_zmmm512)], N64 },
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { VectorLength,
							new object[] { VHW_3, xmm0, code[nameof(Code.EVEX_Vaesenclast_xmm_xmm_xmmm128)], N16 },
							new object[] { VHW_3, ymm0, code[nameof(Code.EVEX_Vaesenclast_ymm_ymm_ymmm256)], N32 },
							new object[] { VHW_3, zmm0, code[nameof(Code.EVEX_Vaesenclast_zmm_zmm_zmmm512)], N64 },
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { VectorLength,
							new object[] { VHW_3, xmm0, code[nameof(Code.EVEX_Vaesdec_xmm_xmm_xmmm128)], N16 },
							new object[] { VHW_3, ymm0, code[nameof(Code.EVEX_Vaesdec_ymm_ymm_ymmm256)], N32 },
							new object[] { VHW_3, zmm0, code[nameof(Code.EVEX_Vaesdec_zmm_zmm_zmmm512)], N64 },
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { VectorLength,
							new object[] { VHW_3, xmm0, code[nameof(Code.EVEX_Vaesdeclast_xmm_xmm_xmmm128)], N16 },
							new object[] { VHW_3, ymm0, code[nameof(Code.EVEX_Vaesdeclast_ymm_ymm_ymmm256)], N32 },
							new object[] { VHW_3, zmm0, code[nameof(Code.EVEX_Vaesdeclast_zmm_zmm_zmmm512)], N64 },
						},
						invalid,
						invalid,
					},

					// E0
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,

					// E8
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,

					// F0
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,

					// F8
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
				}),

				(Handlers_0F3A,
				new object[0x100] {
					// 00
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							invalid,
							new object[] { VectorLength,
								invalid,
								new object[] { VkWIb_3b, ymm0, code[nameof(Code.EVEX_Vpermq_ymm_k1z_ymmm256b64_imm8)], N32b8 },
								new object[] { VkWIb_3b, zmm0, code[nameof(Code.EVEX_Vpermq_zmm_k1z_zmmm512b64_imm8)], N64b8 },
							},
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							invalid,
							new object[] { VectorLength,
								invalid,
								new object[] { VkWIb_3b, ymm0, code[nameof(Code.EVEX_Vpermpd_ymm_k1z_ymmm256b64_imm8)], N32b8 },
								new object[] { VkWIb_3b, zmm0, code[nameof(Code.EVEX_Vpermpd_zmm_k1z_zmmm512b64_imm8)], N64b8 },
							},
						},
						invalid,
						invalid,
					},
					invalid,
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { VkHWIb_3b, xmm0, code[nameof(Code.EVEX_Valignd_xmm_k1z_xmm_xmmm128b32_imm8)], N16b4 },
								new object[] { VkHWIb_3b, ymm0, code[nameof(Code.EVEX_Valignd_ymm_k1z_ymm_ymmm256b32_imm8)], N32b4 },
								new object[] { VkHWIb_3b, zmm0, code[nameof(Code.EVEX_Valignd_zmm_k1z_zmm_zmmm512b32_imm8)], N64b4 },
							},
							new object[] { VectorLength,
								new object[] { VkHWIb_3b, xmm0, code[nameof(Code.EVEX_Valignq_xmm_k1z_xmm_xmmm128b64_imm8)], N16b8 },
								new object[] { VkHWIb_3b, ymm0, code[nameof(Code.EVEX_Valignq_ymm_k1z_ymm_ymmm256b64_imm8)], N32b8 },
								new object[] { VkHWIb_3b, zmm0, code[nameof(Code.EVEX_Valignq_zmm_k1z_zmm_zmmm512b64_imm8)], N64b8 },
							},
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { VkWIb_3b, xmm0, code[nameof(Code.EVEX_Vpermilps_xmm_k1z_xmmm128b32_imm8)], N16b4 },
								new object[] { VkWIb_3b, ymm0, code[nameof(Code.EVEX_Vpermilps_ymm_k1z_ymmm256b32_imm8)], N32b4 },
								new object[] { VkWIb_3b, zmm0, code[nameof(Code.EVEX_Vpermilps_zmm_k1z_zmmm512b32_imm8)], N64b4 },
							},
							invalid,
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							invalid,
							new object[] { VectorLength,
								new object[] { VkWIb_3b, xmm0, code[nameof(Code.EVEX_Vpermilpd_xmm_k1z_xmmm128b64_imm8)], N16b8 },
								new object[] { VkWIb_3b, ymm0, code[nameof(Code.EVEX_Vpermilpd_ymm_k1z_ymmm256b64_imm8)], N32b8 },
								new object[] { VkWIb_3b, zmm0, code[nameof(Code.EVEX_Vpermilpd_zmm_k1z_zmmm512b64_imm8)], N64b8 },
							},
						},
						invalid,
						invalid,
					},
					invalid,
					invalid,

					// 08
					new object[] { MandatoryPrefix2,
						new object[] { W,
							new object[] { VectorLength_er,
								new object[] { VkWIb_er, xmm0, code[nameof(Code.EVEX_Vrndscaleph_xmm_k1z_xmmm128b16_imm8)], N16b2 },
								new object[] { VkWIb_er, ymm0, code[nameof(Code.EVEX_Vrndscaleph_ymm_k1z_ymmm256b16_imm8)], N32b2 },
								new object[] { VkWIb_er, zmm0, code[nameof(Code.EVEX_Vrndscaleph_zmm_k1z_zmmm512b16_imm8_sae)], N64b2 },
							},
							invalid,
						},
						new object[] { W,
							new object[] { VectorLength_er,
								new object[] { VkWIb_er, xmm0, code[nameof(Code.EVEX_Vrndscaleps_xmm_k1z_xmmm128b32_imm8)], N16b4 },
								new object[] { VkWIb_er, ymm0, code[nameof(Code.EVEX_Vrndscaleps_ymm_k1z_ymmm256b32_imm8)], N32b4 },
								new object[] { VkWIb_er, zmm0, code[nameof(Code.EVEX_Vrndscaleps_zmm_k1z_zmmm512b32_imm8_sae)], N64b4 },
							},
							invalid,
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							invalid,
							new object[] { VectorLength_er,
								new object[] { VkWIb_er, xmm0, code[nameof(Code.EVEX_Vrndscalepd_xmm_k1z_xmmm128b64_imm8)], N16b8 },
								new object[] { VkWIb_er, ymm0, code[nameof(Code.EVEX_Vrndscalepd_ymm_k1z_ymmm256b64_imm8)], N32b8 },
								new object[] { VkWIb_er, zmm0, code[nameof(Code.EVEX_Vrndscalepd_zmm_k1z_zmmm512b64_imm8_sae)], N64b8 },
							},
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						new object[] { W,
							new object[] { VkHWIb_er_4, xmm0, code[nameof(Code.EVEX_Vrndscalesh_xmm_k1z_xmm_xmmm16_imm8_sae)], N2 },
							invalid,
						},
						new object[] { W,
							new object[] { VkHWIb_er_4, xmm0, code[nameof(Code.EVEX_Vrndscaless_xmm_k1z_xmm_xmmm32_imm8_sae)], N4 },
							invalid,
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							invalid,
							new object[] { VkHWIb_er_4, xmm0, code[nameof(Code.EVEX_Vrndscalesd_xmm_k1z_xmm_xmmm64_imm8_sae)], N8 },
						},
						invalid,
						invalid,
					},
					invalid,
					invalid,
					invalid,
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { VectorLength,
							new object[] { VkHWIb_3, xmm0, code[nameof(Code.EVEX_Vpalignr_xmm_k1z_xmm_xmmm128_imm8)], N16 },
							new object[] { VkHWIb_3, ymm0, code[nameof(Code.EVEX_Vpalignr_ymm_k1z_ymm_ymmm256_imm8)], N32 },
							new object[] { VkHWIb_3, zmm0, code[nameof(Code.EVEX_Vpalignr_zmm_k1z_zmm_zmmm512_imm8)], N64 },
						},
						invalid,
						invalid,
					},

					// 10
					invalid,
					invalid,
					invalid,
					invalid,
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { VectorLength,
							new object[] { GvM_VX_Ib, xmm0, code[nameof(Code.EVEX_Vpextrb_r32m8_xmm_imm8)], code[nameof(Code.EVEX_Vpextrb_r64m8_xmm_imm8)], N1, N1 },
							invalid,
							invalid,
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { VectorLength,
							new object[] { GvM_VX_Ib, xmm0, code[nameof(Code.EVEX_Vpextrw_r32m16_xmm_imm8)], code[nameof(Code.EVEX_Vpextrw_r64m16_xmm_imm8)], N2, N2 },
							invalid,
							invalid,
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { VectorLength,
							new object[] { GvM_VX_Ib, xmm0, code[nameof(Code.EVEX_Vpextrd_rm32_xmm_imm8)], code[nameof(Code.EVEX_Vpextrq_rm64_xmm_imm8)], N4, N8 },
							invalid,
							invalid,
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { VectorLength,
							new object[] { Ed_V_Ib, xmm0, code[nameof(Code.EVEX_Vextractps_rm32_xmm_imm8)], code[nameof(Code.EVEX_Vextractps_r64m32_xmm_imm8)], N4, N4 },
							invalid,
							invalid,
						},
						invalid,
						invalid,
					},

					// 18
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								invalid,
								new object[] { VkHWIb_5, ymm0, ymm0, xmm0, code[nameof(Code.EVEX_Vinsertf32x4_ymm_k1z_ymm_xmmm128_imm8)], N16 },
								new object[] { VkHWIb_5, zmm0, zmm0, xmm0, code[nameof(Code.EVEX_Vinsertf32x4_zmm_k1z_zmm_xmmm128_imm8)], N16 },
							},
							new object[] { VectorLength,
								invalid,
								new object[] { VkHWIb_5, ymm0, ymm0, xmm0, code[nameof(Code.EVEX_Vinsertf64x2_ymm_k1z_ymm_xmmm128_imm8)], N16 },
								new object[] { VkHWIb_5, zmm0, zmm0, xmm0, code[nameof(Code.EVEX_Vinsertf64x2_zmm_k1z_zmm_xmmm128_imm8)], N16 },
							},
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								invalid,
								new object[] { WkVIb, xmm0, ymm0, code[nameof(Code.EVEX_Vextractf32x4_xmmm128_k1z_ymm_imm8)], N16 },
								new object[] { WkVIb, xmm0, zmm0, code[nameof(Code.EVEX_Vextractf32x4_xmmm128_k1z_zmm_imm8)], N16 },
							},
							new object[] { VectorLength,
								invalid,
								new object[] { WkVIb, xmm0, ymm0, code[nameof(Code.EVEX_Vextractf64x2_xmmm128_k1z_ymm_imm8)], N16 },
								new object[] { WkVIb, xmm0, zmm0, code[nameof(Code.EVEX_Vextractf64x2_xmmm128_k1z_zmm_imm8)], N16 },
							},
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								invalid,
								invalid,
								new object[] { VkHWIb_5, zmm0, zmm0, ymm0, code[nameof(Code.EVEX_Vinsertf32x8_zmm_k1z_zmm_ymmm256_imm8)], N32 },
							},
							new object[] { VectorLength,
								invalid,
								invalid,
								new object[] { VkHWIb_5, zmm0, zmm0, ymm0, code[nameof(Code.EVEX_Vinsertf64x4_zmm_k1z_zmm_ymmm256_imm8)], N32 },
							},
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								invalid,
								invalid,
								new object[] { WkVIb, ymm0, zmm0, code[nameof(Code.EVEX_Vextractf32x8_ymmm256_k1z_zmm_imm8)], N32 },
							},
							new object[] { VectorLength,
								invalid,
								invalid,
								new object[] { WkVIb, ymm0, zmm0, code[nameof(Code.EVEX_Vextractf64x4_ymmm256_k1z_zmm_imm8)], N32 },
							},
						},
						invalid,
						invalid,
					},
					invalid,
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength_er,
								new object[] { WkVIb_er, xmm0, xmm0, code[nameof(Code.EVEX_Vcvtps2ph_xmmm64_k1z_xmm_imm8)], N8 },
								new object[] { WkVIb_er, xmm0, ymm0, code[nameof(Code.EVEX_Vcvtps2ph_xmmm128_k1z_ymm_imm8)], N16 },
								new object[] { WkVIb_er, ymm0, zmm0, code[nameof(Code.EVEX_Vcvtps2ph_ymmm256_k1z_zmm_imm8_sae)], N32 },
							},
							invalid,
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { KkHWIb_3b, xmm0, code[nameof(Code.EVEX_Vpcmpud_kr_k1_xmm_xmmm128b32_imm8)], N16b4 },
								new object[] { KkHWIb_3b, ymm0, code[nameof(Code.EVEX_Vpcmpud_kr_k1_ymm_ymmm256b32_imm8)], N32b4 },
								new object[] { KkHWIb_3b, zmm0, code[nameof(Code.EVEX_Vpcmpud_kr_k1_zmm_zmmm512b32_imm8)], N64b4 },
							},
							new object[] { VectorLength,
								new object[] { KkHWIb_3b, xmm0, code[nameof(Code.EVEX_Vpcmpuq_kr_k1_xmm_xmmm128b64_imm8)], N16b8 },
								new object[] { KkHWIb_3b, ymm0, code[nameof(Code.EVEX_Vpcmpuq_kr_k1_ymm_ymmm256b64_imm8)], N32b8 },
								new object[] { KkHWIb_3b, zmm0, code[nameof(Code.EVEX_Vpcmpuq_kr_k1_zmm_zmmm512b64_imm8)], N64b8 },
							},
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { KkHWIb_3b, xmm0, code[nameof(Code.EVEX_Vpcmpd_kr_k1_xmm_xmmm128b32_imm8)], N16b4 },
								new object[] { KkHWIb_3b, ymm0, code[nameof(Code.EVEX_Vpcmpd_kr_k1_ymm_ymmm256b32_imm8)], N32b4 },
								new object[] { KkHWIb_3b, zmm0, code[nameof(Code.EVEX_Vpcmpd_kr_k1_zmm_zmmm512b32_imm8)], N64b4 },
							},
							new object[] { VectorLength,
								new object[] { KkHWIb_3b, xmm0, code[nameof(Code.EVEX_Vpcmpq_kr_k1_xmm_xmmm128b64_imm8)], N16b8 },
								new object[] { KkHWIb_3b, ymm0, code[nameof(Code.EVEX_Vpcmpq_kr_k1_ymm_ymmm256b64_imm8)], N32b8 },
								new object[] { KkHWIb_3b, zmm0, code[nameof(Code.EVEX_Vpcmpq_kr_k1_zmm_zmmm512b64_imm8)], N64b8 },
							},
						},
						invalid,
						invalid,
					},

					// 20
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { VectorLength,
							new object[] { V_H_Ev_Ib, xmm0, code[nameof(Code.EVEX_Vpinsrb_xmm_xmm_r32m8_imm8)], code[nameof(Code.EVEX_Vpinsrb_xmm_xmm_r64m8_imm8)], N1, N1 },
							invalid,
							invalid,
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { VHWIb, xmm0, code[nameof(Code.EVEX_Vinsertps_xmm_xmm_xmmm32_imm8)], N4 },
								invalid,
								invalid,
							},
							invalid,
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { VectorLength,
							new object[] { V_H_Ev_Ib, xmm0, code[nameof(Code.EVEX_Vpinsrd_xmm_xmm_rm32_imm8)], code[nameof(Code.EVEX_Vpinsrq_xmm_xmm_rm64_imm8)], N4, N8 },
							invalid,
							invalid,
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								invalid,
								new object[] { VkHWIb_3b, ymm0, code[nameof(Code.EVEX_Vshuff32x4_ymm_k1z_ymm_ymmm256b32_imm8)], N32b4 },
								new object[] { VkHWIb_3b, zmm0, code[nameof(Code.EVEX_Vshuff32x4_zmm_k1z_zmm_zmmm512b32_imm8)], N64b4 },
							},
							new object[] { VectorLength,
								invalid,
								new object[] { VkHWIb_3b, ymm0, code[nameof(Code.EVEX_Vshuff64x2_ymm_k1z_ymm_ymmm256b64_imm8)], N32b8 },
								new object[] { VkHWIb_3b, zmm0, code[nameof(Code.EVEX_Vshuff64x2_zmm_k1z_zmm_zmmm512b64_imm8)], N64b8 },
							},
						},
						invalid,
						invalid,
					},
					invalid,
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { VkHWIb_3b, xmm0, code[nameof(Code.EVEX_Vpternlogd_xmm_k1z_xmm_xmmm128b32_imm8)], N16b4 },
								new object[] { VkHWIb_3b, ymm0, code[nameof(Code.EVEX_Vpternlogd_ymm_k1z_ymm_ymmm256b32_imm8)], N32b4 },
								new object[] { VkHWIb_3b, zmm0, code[nameof(Code.EVEX_Vpternlogd_zmm_k1z_zmm_zmmm512b32_imm8)], N64b4 },
							},
							new object[] { VectorLength,
								new object[] { VkHWIb_3b, xmm0, code[nameof(Code.EVEX_Vpternlogq_xmm_k1z_xmm_xmmm128b64_imm8)], N16b8 },
								new object[] { VkHWIb_3b, ymm0, code[nameof(Code.EVEX_Vpternlogq_ymm_k1z_ymm_ymmm256b64_imm8)], N32b8 },
								new object[] { VkHWIb_3b, zmm0, code[nameof(Code.EVEX_Vpternlogq_zmm_k1z_zmm_zmmm512b64_imm8)], N64b8 },
							},
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						new object[] { W,
							new object[] { VectorLength_er,
								new object[] { VkWIb_er, xmm0, code[nameof(Code.EVEX_Vgetmantph_xmm_k1z_xmmm128b16_imm8)], N16b2 },
								new object[] { VkWIb_er, ymm0, code[nameof(Code.EVEX_Vgetmantph_ymm_k1z_ymmm256b16_imm8)], N32b2 },
								new object[] { VkWIb_er, zmm0, code[nameof(Code.EVEX_Vgetmantph_zmm_k1z_zmmm512b16_imm8_sae)], N64b2 },
							},
							invalid,
						},
						new object[] { W,
							new object[] { VectorLength_er,
								new object[] { VkWIb_er, xmm0, code[nameof(Code.EVEX_Vgetmantps_xmm_k1z_xmmm128b32_imm8)], N16b4 },
								new object[] { VkWIb_er, ymm0, code[nameof(Code.EVEX_Vgetmantps_ymm_k1z_ymmm256b32_imm8)], N32b4 },
								new object[] { VkWIb_er, zmm0, code[nameof(Code.EVEX_Vgetmantps_zmm_k1z_zmmm512b32_imm8_sae)], N64b4 },
							},
							new object[] { VectorLength_er,
								new object[] { VkWIb_er, xmm0, code[nameof(Code.EVEX_Vgetmantpd_xmm_k1z_xmmm128b64_imm8)], N16b8 },
								new object[] { VkWIb_er, ymm0, code[nameof(Code.EVEX_Vgetmantpd_ymm_k1z_ymmm256b64_imm8)], N32b8 },
								new object[] { VkWIb_er, zmm0, code[nameof(Code.EVEX_Vgetmantpd_zmm_k1z_zmmm512b64_imm8_sae)], N64b8 },
							},
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						new object[] { W,
							new object[] { VkHWIb_er_4, xmm0, code[nameof(Code.EVEX_Vgetmantsh_xmm_k1z_xmm_xmmm16_imm8_sae)], N2 },
							invalid,
						},
						new object[] { W,
							new object[] { VkHWIb_er_4, xmm0, code[nameof(Code.EVEX_Vgetmantss_xmm_k1z_xmm_xmmm32_imm8_sae)], N4 },
							new object[] { VkHWIb_er_4, xmm0, code[nameof(Code.EVEX_Vgetmantsd_xmm_k1z_xmm_xmmm64_imm8_sae)], N8 },
						},
						invalid,
						invalid,
					},

					// 28
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,

					// 30
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,

					// 38
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								invalid,
								new object[] { VkHWIb_5, ymm0, ymm0, xmm0, code[nameof(Code.EVEX_Vinserti32x4_ymm_k1z_ymm_xmmm128_imm8)], N16 },
								new object[] { VkHWIb_5, zmm0, zmm0, xmm0, code[nameof(Code.EVEX_Vinserti32x4_zmm_k1z_zmm_xmmm128_imm8)], N16 },
							},
							new object[] { VectorLength,
								invalid,
								new object[] { VkHWIb_5, ymm0, ymm0, xmm0, code[nameof(Code.EVEX_Vinserti64x2_ymm_k1z_ymm_xmmm128_imm8)], N16 },
								new object[] { VkHWIb_5, zmm0, zmm0, xmm0, code[nameof(Code.EVEX_Vinserti64x2_zmm_k1z_zmm_xmmm128_imm8)], N16 },
							},
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								invalid,
								new object[] { WkVIb, xmm0, ymm0, code[nameof(Code.EVEX_Vextracti32x4_xmmm128_k1z_ymm_imm8)], N16 },
								new object[] { WkVIb, xmm0, zmm0, code[nameof(Code.EVEX_Vextracti32x4_xmmm128_k1z_zmm_imm8)], N16 },
							},
							new object[] { VectorLength,
								invalid,
								new object[] { WkVIb, xmm0, ymm0, code[nameof(Code.EVEX_Vextracti64x2_xmmm128_k1z_ymm_imm8)], N16 },
								new object[] { WkVIb, xmm0, zmm0, code[nameof(Code.EVEX_Vextracti64x2_xmmm128_k1z_zmm_imm8)], N16 },
							},
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								invalid,
								invalid,
								new object[] { VkHWIb_5, zmm0, zmm0, ymm0, code[nameof(Code.EVEX_Vinserti32x8_zmm_k1z_zmm_ymmm256_imm8)], N32 },
							},
							new object[] { VectorLength,
								invalid,
								invalid,
								new object[] { VkHWIb_5, zmm0, zmm0, ymm0, code[nameof(Code.EVEX_Vinserti64x4_zmm_k1z_zmm_ymmm256_imm8)], N32 },
							},
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								invalid,
								invalid,
								new object[] { WkVIb, ymm0, zmm0, code[nameof(Code.EVEX_Vextracti32x8_ymmm256_k1z_zmm_imm8)], N32 },
							},
							new object[] { VectorLength,
								invalid,
								invalid,
								new object[] { WkVIb, ymm0, zmm0, code[nameof(Code.EVEX_Vextracti64x4_ymmm256_k1z_zmm_imm8)], N32 },
							},
						},
						invalid,
						invalid,
					},
					invalid,
					invalid,
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { KkHWIb_3, xmm0, code[nameof(Code.EVEX_Vpcmpub_kr_k1_xmm_xmmm128_imm8)], N16 },
								new object[] { KkHWIb_3, ymm0, code[nameof(Code.EVEX_Vpcmpub_kr_k1_ymm_ymmm256_imm8)], N32 },
								new object[] { KkHWIb_3, zmm0, code[nameof(Code.EVEX_Vpcmpub_kr_k1_zmm_zmmm512_imm8)], N64 },
							},
							new object[] { VectorLength,
								new object[] { KkHWIb_3, xmm0, code[nameof(Code.EVEX_Vpcmpuw_kr_k1_xmm_xmmm128_imm8)], N16 },
								new object[] { KkHWIb_3, ymm0, code[nameof(Code.EVEX_Vpcmpuw_kr_k1_ymm_ymmm256_imm8)], N32 },
								new object[] { KkHWIb_3, zmm0, code[nameof(Code.EVEX_Vpcmpuw_kr_k1_zmm_zmmm512_imm8)], N64 },
							},
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { KkHWIb_3, xmm0, code[nameof(Code.EVEX_Vpcmpb_kr_k1_xmm_xmmm128_imm8)], N16 },
								new object[] { KkHWIb_3, ymm0, code[nameof(Code.EVEX_Vpcmpb_kr_k1_ymm_ymmm256_imm8)], N32 },
								new object[] { KkHWIb_3, zmm0, code[nameof(Code.EVEX_Vpcmpb_kr_k1_zmm_zmmm512_imm8)], N64 },
							},
							new object[] { VectorLength,
								new object[] { KkHWIb_3, xmm0, code[nameof(Code.EVEX_Vpcmpw_kr_k1_xmm_xmmm128_imm8)], N16 },
								new object[] { KkHWIb_3, ymm0, code[nameof(Code.EVEX_Vpcmpw_kr_k1_ymm_ymmm256_imm8)], N32 },
								new object[] { KkHWIb_3, zmm0, code[nameof(Code.EVEX_Vpcmpw_kr_k1_zmm_zmmm512_imm8)], N64 },
							},
						},
						invalid,
						invalid,
					},

					// 40
					invalid,
					invalid,
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { VkHWIb_3, xmm0, code[nameof(Code.EVEX_Vdbpsadbw_xmm_k1z_xmm_xmmm128_imm8)], N16 },
								new object[] { VkHWIb_3, ymm0, code[nameof(Code.EVEX_Vdbpsadbw_ymm_k1z_ymm_ymmm256_imm8)], N32 },
								new object[] { VkHWIb_3, zmm0, code[nameof(Code.EVEX_Vdbpsadbw_zmm_k1z_zmm_zmmm512_imm8)], N64 },
							},
							invalid,
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								invalid,
								new object[] { VkHWIb_3b, ymm0, code[nameof(Code.EVEX_Vshufi32x4_ymm_k1z_ymm_ymmm256b32_imm8)], N32b4 },
								new object[] { VkHWIb_3b, zmm0, code[nameof(Code.EVEX_Vshufi32x4_zmm_k1z_zmm_zmmm512b32_imm8)], N64b4 },
							},
							new object[] { VectorLength,
								invalid,
								new object[] { VkHWIb_3b, ymm0, code[nameof(Code.EVEX_Vshufi64x2_ymm_k1z_ymm_ymmm256b64_imm8)], N32b8 },
								new object[] { VkHWIb_3b, zmm0, code[nameof(Code.EVEX_Vshufi64x2_zmm_k1z_zmm_zmmm512b64_imm8)], N64b8 },
							},
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { VectorLength,
							new object[] { VHWIb, xmm0, code[nameof(Code.EVEX_Vpclmulqdq_xmm_xmm_xmmm128_imm8)], N16 },
							new object[] { VHWIb, ymm0, code[nameof(Code.EVEX_Vpclmulqdq_ymm_ymm_ymmm256_imm8)], N32 },
							new object[] { VHWIb, zmm0, code[nameof(Code.EVEX_Vpclmulqdq_zmm_zmm_zmmm512_imm8)], N64 },
						},
						invalid,
						invalid,
					},
					invalid,
					invalid,
					invalid,

					// 48
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,

					// 50
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength_er,
								new object[] { VkHWIb_er_4b, xmm0, code[nameof(Code.EVEX_Vrangeps_xmm_k1z_xmm_xmmm128b32_imm8)], N16b4 },
								new object[] { VkHWIb_er_4b, ymm0, code[nameof(Code.EVEX_Vrangeps_ymm_k1z_ymm_ymmm256b32_imm8)], N32b4 },
								new object[] { VkHWIb_er_4b, zmm0, code[nameof(Code.EVEX_Vrangeps_zmm_k1z_zmm_zmmm512b32_imm8_sae)], N64b4 },
							},
							new object[] { VectorLength_er,
								new object[] { VkHWIb_er_4b, xmm0, code[nameof(Code.EVEX_Vrangepd_xmm_k1z_xmm_xmmm128b64_imm8)], N16b8 },
								new object[] { VkHWIb_er_4b, ymm0, code[nameof(Code.EVEX_Vrangepd_ymm_k1z_ymm_ymmm256b64_imm8)], N32b8 },
								new object[] { VkHWIb_er_4b, zmm0, code[nameof(Code.EVEX_Vrangepd_zmm_k1z_zmm_zmmm512b64_imm8_sae)], N64b8 },
							},
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VkHWIb_er_4, xmm0, code[nameof(Code.EVEX_Vrangess_xmm_k1z_xmm_xmmm32_imm8_sae)], N4 },
							new object[] { VkHWIb_er_4, xmm0, code[nameof(Code.EVEX_Vrangesd_xmm_k1z_xmm_xmmm64_imm8_sae)], N8 },
						},
						invalid,
						invalid,
					},
					invalid,
					invalid,
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength_er,
								new object[] { VkHWIb_er_4b, xmm0, code[nameof(Code.EVEX_Vfixupimmps_xmm_k1z_xmm_xmmm128b32_imm8)], N16b4 },
								new object[] { VkHWIb_er_4b, ymm0, code[nameof(Code.EVEX_Vfixupimmps_ymm_k1z_ymm_ymmm256b32_imm8)], N32b4 },
								new object[] { VkHWIb_er_4b, zmm0, code[nameof(Code.EVEX_Vfixupimmps_zmm_k1z_zmm_zmmm512b32_imm8_sae)], N64b4 },
							},
							new object[] { VectorLength_er,
								new object[] { VkHWIb_er_4b, xmm0, code[nameof(Code.EVEX_Vfixupimmpd_xmm_k1z_xmm_xmmm128b64_imm8)], N16b8 },
								new object[] { VkHWIb_er_4b, ymm0, code[nameof(Code.EVEX_Vfixupimmpd_ymm_k1z_ymm_ymmm256b64_imm8)], N32b8 },
								new object[] { VkHWIb_er_4b, zmm0, code[nameof(Code.EVEX_Vfixupimmpd_zmm_k1z_zmm_zmmm512b64_imm8_sae)], N64b8 },
							},
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VkHWIb_er_4, xmm0, code[nameof(Code.EVEX_Vfixupimmss_xmm_k1z_xmm_xmmm32_imm8_sae)], N4 },
							new object[] { VkHWIb_er_4, xmm0, code[nameof(Code.EVEX_Vfixupimmsd_xmm_k1z_xmm_xmmm64_imm8_sae)], N8 },
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						new object[] { W,
							new object[] { VectorLength_er,
								new object[] { VkWIb_er, xmm0, code[nameof(Code.EVEX_Vreduceph_xmm_k1z_xmmm128b16_imm8)], N16b2 },
								new object[] { VkWIb_er, ymm0, code[nameof(Code.EVEX_Vreduceph_ymm_k1z_ymmm256b16_imm8)], N32b2 },
								new object[] { VkWIb_er, zmm0, code[nameof(Code.EVEX_Vreduceph_zmm_k1z_zmmm512b16_imm8_sae)], N64b2 },
							},
							invalid,
						},
						new object[] { W,
							new object[] { VectorLength_er,
								new object[] { VkWIb_er, xmm0, code[nameof(Code.EVEX_Vreduceps_xmm_k1z_xmmm128b32_imm8)], N16b4 },
								new object[] { VkWIb_er, ymm0, code[nameof(Code.EVEX_Vreduceps_ymm_k1z_ymmm256b32_imm8)], N32b4 },
								new object[] { VkWIb_er, zmm0, code[nameof(Code.EVEX_Vreduceps_zmm_k1z_zmmm512b32_imm8_sae)], N64b4 },
							},
							new object[] { VectorLength_er,
								new object[] { VkWIb_er, xmm0, code[nameof(Code.EVEX_Vreducepd_xmm_k1z_xmmm128b64_imm8)], N16b8 },
								new object[] { VkWIb_er, ymm0, code[nameof(Code.EVEX_Vreducepd_ymm_k1z_ymmm256b64_imm8)], N32b8 },
								new object[] { VkWIb_er, zmm0, code[nameof(Code.EVEX_Vreducepd_zmm_k1z_zmmm512b64_imm8_sae)], N64b8 },
							},
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						new object[] { W,
							new object[] { VkHWIb_er_4, xmm0, code[nameof(Code.EVEX_Vreducesh_xmm_k1z_xmm_xmmm16_imm8_sae)], N2 },
							invalid,
						},
						new object[] { W,
							new object[] { VkHWIb_er_4, xmm0, code[nameof(Code.EVEX_Vreducess_xmm_k1z_xmm_xmmm32_imm8_sae)], N4 },
							new object[] { VkHWIb_er_4, xmm0, code[nameof(Code.EVEX_Vreducesd_xmm_k1z_xmm_xmmm64_imm8_sae)], N8 },
						},
						invalid,
						invalid,
					},

					// 58
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,

					// 60
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					new object[] { MandatoryPrefix2,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { KkWIb_3b, xmm0, code[nameof(Code.EVEX_Vfpclassph_kr_k1_xmmm128b16_imm8)], N16b2 },
								new object[] { KkWIb_3b, ymm0, code[nameof(Code.EVEX_Vfpclassph_kr_k1_ymmm256b16_imm8)], N32b2 },
								new object[] { KkWIb_3b, zmm0, code[nameof(Code.EVEX_Vfpclassph_kr_k1_zmmm512b16_imm8)], N64b2 },
							},
							invalid,
						},
						new object[] { W,
							new object[] { VectorLength,
								new object[] { KkWIb_3b, xmm0, code[nameof(Code.EVEX_Vfpclassps_kr_k1_xmmm128b32_imm8)], N16b4 },
								new object[] { KkWIb_3b, ymm0, code[nameof(Code.EVEX_Vfpclassps_kr_k1_ymmm256b32_imm8)], N32b4 },
								new object[] { KkWIb_3b, zmm0, code[nameof(Code.EVEX_Vfpclassps_kr_k1_zmmm512b32_imm8)], N64b4 },
							},
							new object[] { VectorLength,
								new object[] { KkWIb_3b, xmm0, code[nameof(Code.EVEX_Vfpclasspd_kr_k1_xmmm128b64_imm8)], N16b8 },
								new object[] { KkWIb_3b, ymm0, code[nameof(Code.EVEX_Vfpclasspd_kr_k1_ymmm256b64_imm8)], N32b8 },
								new object[] { KkWIb_3b, zmm0, code[nameof(Code.EVEX_Vfpclasspd_kr_k1_zmmm512b64_imm8)], N64b8 },
							},
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						new object[] { W,
							new object[] { KkWIb_3, xmm0, code[nameof(Code.EVEX_Vfpclasssh_kr_k1_xmmm16_imm8)], N2 },
							invalid,
						},
						new object[] { W,
							new object[] { KkWIb_3, xmm0, code[nameof(Code.EVEX_Vfpclassss_kr_k1_xmmm32_imm8)], N4 },
							new object[] { KkWIb_3, xmm0, code[nameof(Code.EVEX_Vfpclasssd_kr_k1_xmmm64_imm8)], N8 },
						},
						invalid,
						invalid,
					},

					// 68
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,

					// 70
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							invalid,
							new object[] { VectorLength,
								new object[] { VkHWIb_3, xmm0, code[nameof(Code.EVEX_Vpshldw_xmm_k1z_xmm_xmmm128_imm8)], N16 },
								new object[] { VkHWIb_3, ymm0, code[nameof(Code.EVEX_Vpshldw_ymm_k1z_ymm_ymmm256_imm8)], N32 },
								new object[] { VkHWIb_3, zmm0, code[nameof(Code.EVEX_Vpshldw_zmm_k1z_zmm_zmmm512_imm8)], N64 },
							},
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { VkHWIb_3b, xmm0, code[nameof(Code.EVEX_Vpshldd_xmm_k1z_xmm_xmmm128b32_imm8)], N16b4 },
								new object[] { VkHWIb_3b, ymm0, code[nameof(Code.EVEX_Vpshldd_ymm_k1z_ymm_ymmm256b32_imm8)], N32b4 },
								new object[] { VkHWIb_3b, zmm0, code[nameof(Code.EVEX_Vpshldd_zmm_k1z_zmm_zmmm512b32_imm8)], N64b4 },
							},
							new object[] { VectorLength,
								new object[] { VkHWIb_3b, xmm0, code[nameof(Code.EVEX_Vpshldq_xmm_k1z_xmm_xmmm128b64_imm8)], N16b8 },
								new object[] { VkHWIb_3b, ymm0, code[nameof(Code.EVEX_Vpshldq_ymm_k1z_ymm_ymmm256b64_imm8)], N32b8 },
								new object[] { VkHWIb_3b, zmm0, code[nameof(Code.EVEX_Vpshldq_zmm_k1z_zmm_zmmm512b64_imm8)], N64b8 },
							},
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							invalid,
							new object[] { VectorLength,
								new object[] { VkHWIb_3, xmm0, code[nameof(Code.EVEX_Vpshrdw_xmm_k1z_xmm_xmmm128_imm8)], N16 },
								new object[] { VkHWIb_3, ymm0, code[nameof(Code.EVEX_Vpshrdw_ymm_k1z_ymm_ymmm256_imm8)], N32 },
								new object[] { VkHWIb_3, zmm0, code[nameof(Code.EVEX_Vpshrdw_zmm_k1z_zmm_zmmm512_imm8)], N64 },
							},
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { VkHWIb_3b, xmm0, code[nameof(Code.EVEX_Vpshrdd_xmm_k1z_xmm_xmmm128b32_imm8)], N16b4 },
								new object[] { VkHWIb_3b, ymm0, code[nameof(Code.EVEX_Vpshrdd_ymm_k1z_ymm_ymmm256b32_imm8)], N32b4 },
								new object[] { VkHWIb_3b, zmm0, code[nameof(Code.EVEX_Vpshrdd_zmm_k1z_zmm_zmmm512b32_imm8)], N64b4 },
							},
							new object[] { VectorLength,
								new object[] { VkHWIb_3b, xmm0, code[nameof(Code.EVEX_Vpshrdq_xmm_k1z_xmm_xmmm128b64_imm8)], N16b8 },
								new object[] { VkHWIb_3b, ymm0, code[nameof(Code.EVEX_Vpshrdq_ymm_k1z_ymm_ymmm256b64_imm8)], N32b8 },
								new object[] { VkHWIb_3b, zmm0, code[nameof(Code.EVEX_Vpshrdq_zmm_k1z_zmm_zmmm512b64_imm8)], N64b8 },
							},
						},
						invalid,
						invalid,
					},
					invalid,
					invalid,
					invalid,
					invalid,

					// 78
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,

					// 80
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,

					// 88
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,

					// 90
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,

					// 98
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,

					// A0
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,

					// A8
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,

					// B0
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,

					// B8
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,

					// C0
					invalid,
					invalid,
					new object[] { MandatoryPrefix2,
						new object[] { W,
							new object[] { VectorLength_er,
								new object[] { KkHWIb_sae_3b, xmm0, code[nameof(Code.EVEX_Vcmpph_kr_k1_xmm_xmmm128b16_imm8)], N16b2 },
								new object[] { KkHWIb_sae_3b, ymm0, code[nameof(Code.EVEX_Vcmpph_kr_k1_ymm_ymmm256b16_imm8)], N32b2 },
								new object[] { KkHWIb_sae_3b, zmm0, code[nameof(Code.EVEX_Vcmpph_kr_k1_zmm_zmmm512b16_imm8_sae)], N64b2 },
							},
							invalid,
						},
						invalid,
						new object[] { W,
							new object[] { KkHWIb_sae_3, xmm0, code[nameof(Code.EVEX_Vcmpsh_kr_k1_xmm_xmmm16_imm8_sae)], N2 },
							invalid,
						},
						invalid,
					},
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,

					// C8
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							invalid,
							new object[] { VectorLength,
								new object[] { VkHWIb_3b, xmm0, code[nameof(Code.EVEX_Vgf2p8affineqb_xmm_k1z_xmm_xmmm128b64_imm8)], N16b8 },
								new object[] { VkHWIb_3b, ymm0, code[nameof(Code.EVEX_Vgf2p8affineqb_ymm_k1z_ymm_ymmm256b64_imm8)], N32b8 },
								new object[] { VkHWIb_3b, zmm0, code[nameof(Code.EVEX_Vgf2p8affineqb_zmm_k1z_zmm_zmmm512b64_imm8)], N64b8 },
							},
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							invalid,
							new object[] { VectorLength,
								new object[] { VkHWIb_3b, xmm0, code[nameof(Code.EVEX_Vgf2p8affineinvqb_xmm_k1z_xmm_xmmm128b64_imm8)], N16b8 },
								new object[] { VkHWIb_3b, ymm0, code[nameof(Code.EVEX_Vgf2p8affineinvqb_ymm_k1z_ymm_ymmm256b64_imm8)], N32b8 },
								new object[] { VkHWIb_3b, zmm0, code[nameof(Code.EVEX_Vgf2p8affineinvqb_zmm_k1z_zmm_zmmm512b64_imm8)], N64b8 },
							},
						},
						invalid,
						invalid,
					},

					// D0
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,

					// D8
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,

					// E0
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,

					// E8
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,

					// F0
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,

					// F8
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
				}),

				(Handlers_MAP5,
				new object[0x100] {
					// 00
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,

					// 08
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,

					// 10
					new object[] { MandatoryPrefix2,
						invalid,
						invalid,
						new object[] { W,
							new object[] { RM,
								new object[] { VkHW_3, xmm0, code[nameof(Code.EVEX_Vmovsh_xmm_k1z_xmm_xmm)], N1 },
								new object[] { VkW_3, xmm0, code[nameof(Code.EVEX_Vmovsh_xmm_k1z_m16)], N2 },
							},
							invalid,
						},
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						invalid,
						new object[] { W,
							new object[] { RM,
								new object[] { WkHV, xmm0, code[nameof(Code.EVEX_Vmovsh_xmm_k1z_xmm_xmm_MAP5_11)] },
								new object[] { WkV_4b, xmm0, code[nameof(Code.EVEX_Vmovsh_m16_k1_xmm)], N2, false },
							},
							invalid,
						},
						invalid,
					},
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,

					// 18
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					new object[] { MandatoryPrefix2,
						new object[] { W,
							new object[] { VkHW_er_4, xmm0, code[nameof(Code.EVEX_Vcvtss2sh_xmm_k1z_xmm_xmmm32_er)], N4, false },
							invalid,
						},
						new object[] { W,
							new object[] { VectorLength_er,
								new object[] { VkW_er_5, xmm0, xmm0, code[nameof(Code.EVEX_Vcvtps2phx_xmm_k1z_xmmm128b32)], N16b4, false },
								new object[] { VkW_er_5, xmm0, ymm0, code[nameof(Code.EVEX_Vcvtps2phx_xmm_k1z_ymmm256b32)], N32b4, false },
								new object[] { VkW_er_5, ymm0, zmm0, code[nameof(Code.EVEX_Vcvtps2phx_ymm_k1z_zmmm512b32_er)], N64b4, false },
							},
							invalid,
						},
						invalid,
						invalid,
					},
					invalid,
					invalid,

					// 20
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,

					// 28
					invalid,
					invalid,
					new object[] { MandatoryPrefix2,
						invalid,
						invalid,
						new object[] { V_H_Ev_er, xmm0, code[nameof(Code.EVEX_Vcvtsi2sh_xmm_xmm_rm32_er)], code[nameof(Code.EVEX_Vcvtsi2sh_xmm_xmm_rm64_er)], N4, N8 },
						invalid,
					},
					invalid,
					new object[] { MandatoryPrefix2,
						invalid,
						invalid,
						new object[] { Gv_W_er, xmm0, code[nameof(Code.EVEX_Vcvttsh2si_r32_xmmm16_sae)], code[nameof(Code.EVEX_Vcvttsh2si_r64_xmmm16_sae)], N2, true },
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						invalid,
						new object[] { Gv_W_er, xmm0, code[nameof(Code.EVEX_Vcvtsh2si_r32_xmmm16_er)], code[nameof(Code.EVEX_Vcvtsh2si_r64_xmmm16_er)], N2, false },
						invalid,
					},
					new object[] { MandatoryPrefix2,
						new object[] { W,
							new object[] { VW_er, xmm0, code[nameof(Code.EVEX_Vucomish_xmm_xmmm16_sae)], N2 },
							invalid,
						},
						invalid,
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						new object[] { W,
							new object[] { VW_er, xmm0, code[nameof(Code.EVEX_Vcomish_xmm_xmmm16_sae)], N2 },
							invalid,
						},
						invalid,
						invalid,
						invalid,
					},

					// 30
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,

					// 38
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,

					// 40
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,

					// 48
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,

					// 50
					invalid,
					new object[] { MandatoryPrefix2,
						new object[] { W,
							new object[] { VectorLength_er,
								new object[] { VkW_er_4, xmm0, code[nameof(Code.EVEX_Vsqrtph_xmm_k1z_xmmm128b16)], N16b2, false },
								new object[] { VkW_er_4, ymm0, code[nameof(Code.EVEX_Vsqrtph_ymm_k1z_ymmm256b16)], N32b2, false },
								new object[] { VkW_er_4, zmm0, code[nameof(Code.EVEX_Vsqrtph_zmm_k1z_zmmm512b16_er)], N64b2, false },
							},
							invalid,
						},
						invalid,
						new object[] { W,
							new object[] { VkHW_er_4, xmm0, code[nameof(Code.EVEX_Vsqrtsh_xmm_k1z_xmm_xmmm16_er)], N2, false },
							invalid,
						},
						invalid,
					},
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,

					// 58
					new object[] { MandatoryPrefix2,
						new object[] { W,
							new object[] { VectorLength_er,
								new object[] { VkHW_er_4b, xmm0, code[nameof(Code.EVEX_Vaddph_xmm_k1z_xmm_xmmm128b16)], N16b2, false },
								new object[] { VkHW_er_4b, ymm0, code[nameof(Code.EVEX_Vaddph_ymm_k1z_ymm_ymmm256b16)], N32b2, false },
								new object[] { VkHW_er_4b, zmm0, code[nameof(Code.EVEX_Vaddph_zmm_k1z_zmm_zmmm512b16_er)], N64b2, false },
							},
							invalid,
						},
						invalid,
						new object[] { W,
							new object[] { VkHW_er_4, xmm0, code[nameof(Code.EVEX_Vaddsh_xmm_k1z_xmm_xmmm16_er)], N2, false },
							invalid,
						},
						invalid,
					},
					new object[] { MandatoryPrefix2,
						new object[] { W,
							new object[] { VectorLength_er,
								new object[] { VkHW_er_4b, xmm0, code[nameof(Code.EVEX_Vmulph_xmm_k1z_xmm_xmmm128b16)], N16b2, false },
								new object[] { VkHW_er_4b, ymm0, code[nameof(Code.EVEX_Vmulph_ymm_k1z_ymm_ymmm256b16)], N32b2, false },
								new object[] { VkHW_er_4b, zmm0, code[nameof(Code.EVEX_Vmulph_zmm_k1z_zmm_zmmm512b16_er)], N64b2, false },
							},
							invalid,
						},
						invalid,
						new object[] { W,
							new object[] { VkHW_er_4, xmm0, code[nameof(Code.EVEX_Vmulsh_xmm_k1z_xmm_xmmm16_er)], N2, false },
							invalid,
						},
						invalid,
					},
					new object[] { MandatoryPrefix2,
						new object[] { W,
							new object[] { VectorLength_er,
								new object[] { VkW_er_5, xmm0, xmm0, code[nameof(Code.EVEX_Vcvtph2pd_xmm_k1z_xmmm32b16)], N4b2, true },
								new object[] { VkW_er_5, ymm0, xmm0, code[nameof(Code.EVEX_Vcvtph2pd_ymm_k1z_xmmm64b16)], N8b2, true },
								new object[] { VkW_er_5, zmm0, xmm0, code[nameof(Code.EVEX_Vcvtph2pd_zmm_k1z_xmmm128b16_sae)], N16b2, true },
							},
							invalid,
						},
						new object[] { W,
							invalid,
							new object[] { VectorLength_er,
								new object[] { VkW_er_5, xmm0, xmm0, code[nameof(Code.EVEX_Vcvtpd2ph_xmm_k1z_xmmm128b64)], N16b8, false },
								new object[] { VkW_er_5, xmm0, ymm0, code[nameof(Code.EVEX_Vcvtpd2ph_xmm_k1z_ymmm256b64)], N32b8, false },
								new object[] { VkW_er_5, xmm0, zmm0, code[nameof(Code.EVEX_Vcvtpd2ph_xmm_k1z_zmmm512b64_er)], N64b8, false },
							},
						},
						new object[] { W,
							new object[] { VkHW_er_4, xmm0, code[nameof(Code.EVEX_Vcvtsh2sd_xmm_k1z_xmm_xmmm16_sae)], N2, true },
							invalid,
						},
						new object[] { W,
							invalid,
							new object[] { VkHW_er_4, xmm0, code[nameof(Code.EVEX_Vcvtsd2sh_xmm_k1z_xmm_xmmm64_er)], N8, false },
						},
					},
					new object[] { MandatoryPrefix2,
						new object[] { W,
							new object[] { VectorLength_er,
								new object[] { VkW_er_5, xmm0, xmm0, code[nameof(Code.EVEX_Vcvtdq2ph_xmm_k1z_xmmm128b32)], N16b4, false },
								new object[] { VkW_er_5, xmm0, ymm0, code[nameof(Code.EVEX_Vcvtdq2ph_xmm_k1z_ymmm256b32)], N32b4, false },
								new object[] { VkW_er_5, ymm0, zmm0, code[nameof(Code.EVEX_Vcvtdq2ph_ymm_k1z_zmmm512b32_er)], N64b4, false },
							},
							new object[] { VectorLength_er,
								new object[] { VkW_er_5, xmm0, xmm0, code[nameof(Code.EVEX_Vcvtqq2ph_xmm_k1z_xmmm128b64)], N16b8, false },
								new object[] { VkW_er_5, xmm0, ymm0, code[nameof(Code.EVEX_Vcvtqq2ph_xmm_k1z_ymmm256b64)], N32b8, false },
								new object[] { VkW_er_5, xmm0, zmm0, code[nameof(Code.EVEX_Vcvtqq2ph_xmm_k1z_zmmm512b64_er)], N64b8, false },
							},
						},
						new object[] { W,
							new object[] { VectorLength_er,
								new object[] { VkW_er_5, xmm0, xmm0, code[nameof(Code.EVEX_Vcvtph2dq_xmm_k1z_xmmm64b16)], N8b2, false },
								new object[] { VkW_er_5, ymm0, xmm0, code[nameof(Code.EVEX_Vcvtph2dq_ymm_k1z_xmmm128b16)], N16b2, false },
								new object[] { VkW_er_5, zmm0, ymm0, code[nameof(Code.EVEX_Vcvtph2dq_zmm_k1z_ymmm256b16_er)], N32b2, false },
							},
							invalid,
						},
						new object[] { W,
							new object[] { VectorLength_er,
								new object[] { VkW_er_5, xmm0, xmm0, code[nameof(Code.EVEX_Vcvttph2dq_xmm_k1z_xmmm64b16)], N8b2, true },
								new object[] { VkW_er_5, ymm0, xmm0, code[nameof(Code.EVEX_Vcvttph2dq_ymm_k1z_xmmm128b16)], N16b2, true },
								new object[] { VkW_er_5, zmm0, ymm0, code[nameof(Code.EVEX_Vcvttph2dq_zmm_k1z_ymmm256b16_sae)], N32b2, true },
							},
							invalid,
						},
						invalid,
					},
					new object[] { MandatoryPrefix2,
						new object[] { W,
							new object[] { VectorLength_er,
								new object[] { VkHW_er_4b, xmm0, code[nameof(Code.EVEX_Vsubph_xmm_k1z_xmm_xmmm128b16)], N16b2, false },
								new object[] { VkHW_er_4b, ymm0, code[nameof(Code.EVEX_Vsubph_ymm_k1z_ymm_ymmm256b16)], N32b2, false },
								new object[] { VkHW_er_4b, zmm0, code[nameof(Code.EVEX_Vsubph_zmm_k1z_zmm_zmmm512b16_er)], N64b2, false },
							},
							invalid,
						},
						invalid,
						new object[] { W,
							new object[] { VkHW_er_4, xmm0, code[nameof(Code.EVEX_Vsubsh_xmm_k1z_xmm_xmmm16_er)], N2, false },
							invalid,
						},
						invalid,
					},
					new object[] { MandatoryPrefix2,
						new object[] { W,
							new object[] { VectorLength_er,
								new object[] { VkHW_er_4b, xmm0, code[nameof(Code.EVEX_Vminph_xmm_k1z_xmm_xmmm128b16)], N16b2, true },
								new object[] { VkHW_er_4b, ymm0, code[nameof(Code.EVEX_Vminph_ymm_k1z_ymm_ymmm256b16)], N32b2, true },
								new object[] { VkHW_er_4b, zmm0, code[nameof(Code.EVEX_Vminph_zmm_k1z_zmm_zmmm512b16_sae)], N64b2, true },
							},
							invalid,
						},
						invalid,
						new object[] { W,
							new object[] { VkHW_er_4, xmm0, code[nameof(Code.EVEX_Vminsh_xmm_k1z_xmm_xmmm16_sae)], N2, true },
							invalid,
						},
						invalid,
					},
					new object[] { MandatoryPrefix2,
						new object[] { W,
							new object[] { VectorLength_er,
								new object[] { VkHW_er_4b, xmm0, code[nameof(Code.EVEX_Vdivph_xmm_k1z_xmm_xmmm128b16)], N16b2, false },
								new object[] { VkHW_er_4b, ymm0, code[nameof(Code.EVEX_Vdivph_ymm_k1z_ymm_ymmm256b16)], N32b2, false },
								new object[] { VkHW_er_4b, zmm0, code[nameof(Code.EVEX_Vdivph_zmm_k1z_zmm_zmmm512b16_er)], N64b2, false }, },
							invalid,
						},
						invalid,
						new object[] { W,
							new object[] { VkHW_er_4, xmm0, code[nameof(Code.EVEX_Vdivsh_xmm_k1z_xmm_xmmm16_er)], N2, false },
							invalid,
						},
						invalid,
					},
					new object[] { MandatoryPrefix2,
						new object[] { W,
							new object[] { VectorLength_er,
								new object[] { VkHW_er_4b, xmm0, code[nameof(Code.EVEX_Vmaxph_xmm_k1z_xmm_xmmm128b16)], N16b2, true },
								new object[] { VkHW_er_4b, ymm0, code[nameof(Code.EVEX_Vmaxph_ymm_k1z_ymm_ymmm256b16)], N32b2, true },
								new object[] { VkHW_er_4b, zmm0, code[nameof(Code.EVEX_Vmaxph_zmm_k1z_zmm_zmmm512b16_sae)], N64b2, true },
							},
							invalid,
						},
						invalid,
						new object[] { W,
							new object[] { VkHW_er_4, xmm0, code[nameof(Code.EVEX_Vmaxsh_xmm_k1z_xmm_xmmm16_sae)], N2, true },
							invalid,
						},
						invalid,
					},

					// 60
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,

					// 68
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { VectorLength,
							new object[] { VX_Ev, code[nameof(Code.EVEX_Vmovw_xmm_r32m16)], code[nameof(Code.EVEX_Vmovw_xmm_r64m16)], N2, N2 },
							invalid,
							invalid,
						},
						invalid,
						invalid,
					},
					invalid,

					// 70
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,

					// 78
					new object[] { MandatoryPrefix2,
						new object[] { W,
							new object[] { VectorLength_er,
								new object[] { VkW_er_5, xmm0, xmm0, code[nameof(Code.EVEX_Vcvttph2udq_xmm_k1z_xmmm64b16)], N8b2, true },
								new object[] { VkW_er_5, ymm0, xmm0, code[nameof(Code.EVEX_Vcvttph2udq_ymm_k1z_xmmm128b16)], N16b2, true },
								new object[] { VkW_er_5, zmm0, ymm0, code[nameof(Code.EVEX_Vcvttph2udq_zmm_k1z_ymmm256b16_sae)], N32b2, true },
							},
							invalid,
						},
						new object[] { W,
							new object[] { VectorLength_er,
								new object[] { VkW_er_5, xmm0, xmm0, code[nameof(Code.EVEX_Vcvttph2uqq_xmm_k1z_xmmm32b16)], N4b2, true },
								new object[] { VkW_er_5, ymm0, xmm0, code[nameof(Code.EVEX_Vcvttph2uqq_ymm_k1z_xmmm64b16)], N8b2, true },
								new object[] { VkW_er_5, zmm0, xmm0, code[nameof(Code.EVEX_Vcvttph2uqq_zmm_k1z_xmmm128b16_sae)], N16b2, true },
							},
							invalid,
						},
						new object[] { Gv_W_er, xmm0, code[nameof(Code.EVEX_Vcvttsh2usi_r32_xmmm16_sae)], code[nameof(Code.EVEX_Vcvttsh2usi_r64_xmmm16_sae)], N2, true },
						invalid,
					},
					new object[] { MandatoryPrefix2,
						new object[] { W,
							new object[] { VectorLength_er,
								new object[] { VkW_er_5, xmm0, xmm0, code[nameof(Code.EVEX_Vcvtph2udq_xmm_k1z_xmmm64b16)], N8b2, false },
								new object[] { VkW_er_5, ymm0, xmm0, code[nameof(Code.EVEX_Vcvtph2udq_ymm_k1z_xmmm128b16)], N16b2, false },
								new object[] { VkW_er_5, zmm0, ymm0, code[nameof(Code.EVEX_Vcvtph2udq_zmm_k1z_ymmm256b16_er)], N32b2, false },
							},
							invalid,
						},
						new object[] { W,
							new object[] { VectorLength_er,
								new object[] { VkW_er_5, xmm0, xmm0, code[nameof(Code.EVEX_Vcvtph2uqq_xmm_k1z_xmmm32b16)], N4b2, false },
								new object[] { VkW_er_5, ymm0, xmm0, code[nameof(Code.EVEX_Vcvtph2uqq_ymm_k1z_xmmm64b16)], N8b2, false },
								new object[] { VkW_er_5, zmm0, xmm0, code[nameof(Code.EVEX_Vcvtph2uqq_zmm_k1z_xmmm128b16_er)], N16b2, false },
							},
							invalid,
						},
						new object[] { Gv_W_er, xmm0, code[nameof(Code.EVEX_Vcvtsh2usi_r32_xmmm16_er)], code[nameof(Code.EVEX_Vcvtsh2usi_r64_xmmm16_er)], N2, false },
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength_er,
								new object[] { VkW_er_5, xmm0, xmm0, code[nameof(Code.EVEX_Vcvttph2qq_xmm_k1z_xmmm32b16)], N4b2, true },
								new object[] { VkW_er_5, ymm0, xmm0, code[nameof(Code.EVEX_Vcvttph2qq_ymm_k1z_xmmm64b16)], N8b2, true },
								new object[] { VkW_er_5, zmm0, xmm0, code[nameof(Code.EVEX_Vcvttph2qq_zmm_k1z_xmmm128b16_sae)], N16b2, true },
							},
							invalid,
						},
						invalid,
						new object[] { W,
							new object[] { VectorLength_er,
								new object[] { VkW_er_5, xmm0, xmm0, code[nameof(Code.EVEX_Vcvtudq2ph_xmm_k1z_xmmm128b32)], N16b4, false },
								new object[] { VkW_er_5, xmm0, ymm0, code[nameof(Code.EVEX_Vcvtudq2ph_xmm_k1z_ymmm256b32)], N32b4, false },
								new object[] { VkW_er_5, ymm0, zmm0, code[nameof(Code.EVEX_Vcvtudq2ph_ymm_k1z_zmmm512b32_er)], N64b4, false },
							},
							new object[] { VectorLength_er,
								new object[] { VkW_er_5, xmm0, xmm0, code[nameof(Code.EVEX_Vcvtuqq2ph_xmm_k1z_xmmm128b64)], N16b8, false },
								new object[] { VkW_er_5, xmm0, ymm0, code[nameof(Code.EVEX_Vcvtuqq2ph_xmm_k1z_ymmm256b64)], N32b8, false },
								new object[] { VkW_er_5, xmm0, zmm0, code[nameof(Code.EVEX_Vcvtuqq2ph_xmm_k1z_zmmm512b64_er)], N64b8, false },
							},
						},
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength_er,
								new object[] { VkW_er_5, xmm0, xmm0, code[nameof(Code.EVEX_Vcvtph2qq_xmm_k1z_xmmm32b16)], N4b2, false },
								new object[] { VkW_er_5, ymm0, xmm0, code[nameof(Code.EVEX_Vcvtph2qq_ymm_k1z_xmmm64b16)], N8b2, false },
								new object[] { VkW_er_5, zmm0, xmm0, code[nameof(Code.EVEX_Vcvtph2qq_zmm_k1z_xmmm128b16_er)], N16b2, false },
							},
							invalid,
						},
						new object[] { V_H_Ev_er, xmm0, code[nameof(Code.EVEX_Vcvtusi2sh_xmm_xmm_rm32_er)], code[nameof(Code.EVEX_Vcvtusi2sh_xmm_xmm_rm64_er)], N4, N8 },
						invalid,
					},
					new object[] { MandatoryPrefix2,
						new object[] { W,
							new object[] { VectorLength_er,
								new object[] { VkW_er_4, xmm0, code[nameof(Code.EVEX_Vcvttph2uw_xmm_k1z_xmmm128b16)], N16b2, true },
								new object[] { VkW_er_4, ymm0, code[nameof(Code.EVEX_Vcvttph2uw_ymm_k1z_ymmm256b16)], N32b2, true },
								new object[] { VkW_er_4, zmm0, code[nameof(Code.EVEX_Vcvttph2uw_zmm_k1z_zmmm512b16_sae)], N64b2, true },
							},
							invalid,
						},
						new object[] { W,
							new object[] { VectorLength_er,
								new object[] { VkW_er_4, xmm0, code[nameof(Code.EVEX_Vcvttph2w_xmm_k1z_xmmm128b16)], N16b2, true },
								new object[] { VkW_er_4, ymm0, code[nameof(Code.EVEX_Vcvttph2w_ymm_k1z_ymmm256b16)], N32b2, true },
								new object[] { VkW_er_4, zmm0, code[nameof(Code.EVEX_Vcvttph2w_zmm_k1z_zmmm512b16_sae)], N64b2, true },
							},
							invalid,
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						new object[] { W,
							new object[] { VectorLength_er,
								new object[] { VkW_er_4, xmm0, code[nameof(Code.EVEX_Vcvtph2uw_xmm_k1z_xmmm128b16)], N16b2, false },
								new object[] { VkW_er_4, ymm0, code[nameof(Code.EVEX_Vcvtph2uw_ymm_k1z_ymmm256b16)], N32b2, false },
								new object[] { VkW_er_4, zmm0, code[nameof(Code.EVEX_Vcvtph2uw_zmm_k1z_zmmm512b16_er)], N64b2, false },
							},
							invalid,
						},
						new object[] { W,
							new object[] { VectorLength_er,
								new object[] { VkW_er_4, xmm0, code[nameof(Code.EVEX_Vcvtph2w_xmm_k1z_xmmm128b16)], N16b2, false },
								new object[] { VkW_er_4, ymm0, code[nameof(Code.EVEX_Vcvtph2w_ymm_k1z_ymmm256b16)], N32b2, false },
								new object[] { VkW_er_4, zmm0, code[nameof(Code.EVEX_Vcvtph2w_zmm_k1z_zmmm512b16_er)], N64b2, false },
							},
							invalid,
						},
						new object[] { W,
							new object[] { VectorLength_er,
								new object[] { VkW_er_4, xmm0, code[nameof(Code.EVEX_Vcvtw2ph_xmm_k1z_xmmm128b16)], N16b2, false },
								new object[] { VkW_er_4, ymm0, code[nameof(Code.EVEX_Vcvtw2ph_ymm_k1z_ymmm256b16)], N32b2, false },
								new object[] { VkW_er_4, zmm0, code[nameof(Code.EVEX_Vcvtw2ph_zmm_k1z_zmmm512b16_er)], N64b2, false },
							},
							invalid,
						},
						new object[] { W,
							new object[] { VectorLength_er,
								new object[] { VkW_er_4, xmm0, code[nameof(Code.EVEX_Vcvtuw2ph_xmm_k1z_xmmm128b16)], N16b2, false },
								new object[] { VkW_er_4, ymm0, code[nameof(Code.EVEX_Vcvtuw2ph_ymm_k1z_ymmm256b16)], N32b2, false },
								new object[] { VkW_er_4, zmm0, code[nameof(Code.EVEX_Vcvtuw2ph_zmm_k1z_zmmm512b16_er)], N64b2, false },
							},
							invalid,
						},
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { VectorLength,
							new object[] { Ev_VX, code[nameof(Code.EVEX_Vmovw_r32m16_xmm)], code[nameof(Code.EVEX_Vmovw_r64m16_xmm)], N2, N2 },
							invalid,
							invalid,
						},
						invalid,
						invalid,
					},
					invalid,

					// 80
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,

					// 88
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,

					// 90
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,

					// 98
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,

					// A0
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,

					// A8
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,

					// B0
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,

					// B8
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,

					// C0
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,

					// C8
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,

					// D0
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,

					// D8
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,

					// E0
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,

					// E8
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,

					// F0
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,

					// F8
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
				}),

				(Handlers_MAP6,
				new object[0x100] {
					// 00
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,

					// 08
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,

					// 10
					invalid,
					invalid,
					invalid,
					new object[] { MandatoryPrefix2,
						new object[] { W,
							new object[] { VkHW_er_4, xmm0, code[nameof(Code.EVEX_Vcvtsh2ss_xmm_k1z_xmm_xmmm16_sae)], N2, true },
							invalid,
						},
						new object[] { W,
							new object[] { VectorLength_er,
								new object[] { VkW_er_5, xmm0, xmm0, code[nameof(Code.EVEX_Vcvtph2psx_xmm_k1z_xmmm64b16)], N8b2, true },
								new object[] { VkW_er_5, ymm0, xmm0, code[nameof(Code.EVEX_Vcvtph2psx_ymm_k1z_xmmm128b16)], N16b2, true },
								new object[] { VkW_er_5, zmm0, ymm0, code[nameof(Code.EVEX_Vcvtph2psx_zmm_k1z_ymmm256b16_sae)], N32b2, true },
							},
							invalid,
						},
						invalid,
						invalid,
					},
					invalid,
					invalid,
					invalid,
					invalid,

					// 18
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,

					// 20
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,

					// 28
					invalid,
					invalid,
					invalid,
					invalid,
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength_er,
								new object[] { VkHW_er_4b, xmm0, code[nameof(Code.EVEX_Vscalefph_xmm_k1z_xmm_xmmm128b16)], N16b2, false },
								new object[] { VkHW_er_4b, ymm0, code[nameof(Code.EVEX_Vscalefph_ymm_k1z_ymm_ymmm256b16)], N32b2, false },
								new object[] { VkHW_er_4b, zmm0, code[nameof(Code.EVEX_Vscalefph_zmm_k1z_zmm_zmmm512b16_er)], N64b2, false },
							},
							invalid,
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VkHW_er_4, xmm0, code[nameof(Code.EVEX_Vscalefsh_xmm_k1z_xmm_xmmm16_er)], N2, false },
							invalid,
						},
						invalid,
						invalid,
					},
					invalid,
					invalid,

					// 30
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,

					// 38
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,

					// 40
					invalid,
					invalid,
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength_er,
								new object[] { VkW_er_4, xmm0, code[nameof(Code.EVEX_Vgetexpph_xmm_k1z_xmmm128b16)], N16b2, true },
								new object[] { VkW_er_4, ymm0, code[nameof(Code.EVEX_Vgetexpph_ymm_k1z_ymmm256b16)], N32b2, true },
								new object[] { VkW_er_4, zmm0, code[nameof(Code.EVEX_Vgetexpph_zmm_k1z_zmmm512b16_sae)], N64b2, true },
							},
							invalid,
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VkHW_er_4, xmm0, code[nameof(Code.EVEX_Vgetexpsh_xmm_k1z_xmm_xmmm16_sae)], N2, true },
							invalid,
						},
						invalid,
						invalid,
					},
					invalid,
					invalid,
					invalid,
					invalid,

					// 48
					invalid,
					invalid,
					invalid,
					invalid,
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { VkW_3b, xmm0, code[nameof(Code.EVEX_Vrcpph_xmm_k1z_xmmm128b16)], N16b2 },
								new object[] { VkW_3b, ymm0, code[nameof(Code.EVEX_Vrcpph_ymm_k1z_ymmm256b16)], N32b2 },
								new object[] { VkW_3b, zmm0, code[nameof(Code.EVEX_Vrcpph_zmm_k1z_zmmm512b16)], N64b2 },
							},
							invalid,
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VkHW_3, xmm0, code[nameof(Code.EVEX_Vrcpsh_xmm_k1z_xmm_xmmm16)], N2 },
							invalid,
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { VkW_3b, xmm0, code[nameof(Code.EVEX_Vrsqrtph_xmm_k1z_xmmm128b16)], N16b2 },
								new object[] { VkW_3b, ymm0, code[nameof(Code.EVEX_Vrsqrtph_ymm_k1z_ymmm256b16)], N32b2 },
								new object[] { VkW_3b, zmm0, code[nameof(Code.EVEX_Vrsqrtph_zmm_k1z_zmmm512b16)], N64b2 },
							},
							invalid,
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VkHW_3, xmm0, code[nameof(Code.EVEX_Vrsqrtsh_xmm_k1z_xmm_xmmm16)], N2 },
							invalid,
						},
						invalid,
						invalid,
					},

					// 50
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					new object[] { MandatoryPrefix2,
						invalid,
						invalid,
						new object[] { W,
							new object[] { VectorLength_er,
								new object[] { VkHW_er_ur_3b, xmm0, code[nameof(Code.EVEX_Vfmaddcph_xmm_k1z_xmm_xmmm128b32)], N16b4 },
								new object[] { VkHW_er_ur_3b, ymm0, code[nameof(Code.EVEX_Vfmaddcph_ymm_k1z_ymm_ymmm256b32)], N32b4 },
								new object[] { VkHW_er_ur_3b, zmm0, code[nameof(Code.EVEX_Vfmaddcph_zmm_k1z_zmm_zmmm512b32_er)], N64b4 },
							},
							invalid,
						},
						new object[] { W,
							new object[] { VectorLength_er,
								new object[] { VkHW_er_ur_3b, xmm0, code[nameof(Code.EVEX_Vfcmaddcph_xmm_k1z_xmm_xmmm128b32)], N16b4 },
								new object[] { VkHW_er_ur_3b, ymm0, code[nameof(Code.EVEX_Vfcmaddcph_ymm_k1z_ymm_ymmm256b32)], N32b4 },
								new object[] { VkHW_er_ur_3b, zmm0, code[nameof(Code.EVEX_Vfcmaddcph_zmm_k1z_zmm_zmmm512b32_er)], N64b4 },
							},
							invalid,
						},
					},
					new object[] { MandatoryPrefix2,
						invalid,
						invalid,
						new object[] { W,
							new object[] { VkHW_er_ur_3, xmm0, code[nameof(Code.EVEX_Vfmaddcsh_xmm_k1z_xmm_xmmm32_er)], N4 },
							invalid,
						},
						new object[] { W,
							new object[] { VkHW_er_ur_3, xmm0, code[nameof(Code.EVEX_Vfcmaddcsh_xmm_k1z_xmm_xmmm32_er)], N4 },
							invalid,
						},
					},

					// 58
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,

					// 60
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,

					// 68
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,

					// 70
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,

					// 78
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,

					// 80
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,

					// 88
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,

					// 90
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength_er,
								new object[] { VkHW_er_4b, xmm0, code[nameof(Code.EVEX_Vfmaddsub132ph_xmm_k1z_xmm_xmmm128b16)], N16b2, false },
								new object[] { VkHW_er_4b, ymm0, code[nameof(Code.EVEX_Vfmaddsub132ph_ymm_k1z_ymm_ymmm256b16)], N32b2, false },
								new object[] { VkHW_er_4b, zmm0, code[nameof(Code.EVEX_Vfmaddsub132ph_zmm_k1z_zmm_zmmm512b16_er)], N64b2, false },
							},
							invalid,
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength_er,
								new object[] { VkHW_er_4b, xmm0, code[nameof(Code.EVEX_Vfmsubadd132ph_xmm_k1z_xmm_xmmm128b16)], N16b2, false },
								new object[] { VkHW_er_4b, ymm0, code[nameof(Code.EVEX_Vfmsubadd132ph_ymm_k1z_ymm_ymmm256b16)], N32b2, false },
								new object[] { VkHW_er_4b, zmm0, code[nameof(Code.EVEX_Vfmsubadd132ph_zmm_k1z_zmm_zmmm512b16_er)], N64b2, false },
							},
							invalid,
						},
						invalid,
						invalid,
					},

					// 98
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength_er,
								new object[] { VkHW_er_4b, xmm0, code[nameof(Code.EVEX_Vfmadd132ph_xmm_k1z_xmm_xmmm128b16)], N16b2, false },
								new object[] { VkHW_er_4b, ymm0, code[nameof(Code.EVEX_Vfmadd132ph_ymm_k1z_ymm_ymmm256b16)], N32b2, false },
								new object[] { VkHW_er_4b, zmm0, code[nameof(Code.EVEX_Vfmadd132ph_zmm_k1z_zmm_zmmm512b16_er)], N64b2, false },
							},
							invalid,
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VkHW_er_4, xmm0, code[nameof(Code.EVEX_Vfmadd132sh_xmm_k1z_xmm_xmmm16_er)], N2, false },
							invalid,
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength_er,
								new object[] { VkHW_er_4b, xmm0, code[nameof(Code.EVEX_Vfmsub132ph_xmm_k1z_xmm_xmmm128b16)], N16b2, false },
								new object[] { VkHW_er_4b, ymm0, code[nameof(Code.EVEX_Vfmsub132ph_ymm_k1z_ymm_ymmm256b16)], N32b2, false },
								new object[] { VkHW_er_4b, zmm0, code[nameof(Code.EVEX_Vfmsub132ph_zmm_k1z_zmm_zmmm512b16_er)], N64b2, false },
							},
							invalid,
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VkHW_er_4, xmm0, code[nameof(Code.EVEX_Vfmsub132sh_xmm_k1z_xmm_xmmm16_er)], N2, false },
							invalid,
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength_er,
								new object[] { VkHW_er_4b, xmm0, code[nameof(Code.EVEX_Vfnmadd132ph_xmm_k1z_xmm_xmmm128b16)], N16b2, false },
								new object[] { VkHW_er_4b, ymm0, code[nameof(Code.EVEX_Vfnmadd132ph_ymm_k1z_ymm_ymmm256b16)], N32b2, false },
								new object[] { VkHW_er_4b, zmm0, code[nameof(Code.EVEX_Vfnmadd132ph_zmm_k1z_zmm_zmmm512b16_er)], N64b2, false },
							},
							invalid,
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VkHW_er_4, xmm0, code[nameof(Code.EVEX_Vfnmadd132sh_xmm_k1z_xmm_xmmm16_er)], N2, false },
							invalid,
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength_er,
								new object[] { VkHW_er_4b, xmm0, code[nameof(Code.EVEX_Vfnmsub132ph_xmm_k1z_xmm_xmmm128b16)], N16b2, false },
								new object[] { VkHW_er_4b, ymm0, code[nameof(Code.EVEX_Vfnmsub132ph_ymm_k1z_ymm_ymmm256b16)], N32b2, false },
								new object[] { VkHW_er_4b, zmm0, code[nameof(Code.EVEX_Vfnmsub132ph_zmm_k1z_zmm_zmmm512b16_er)], N64b2, false },
							},
							invalid,
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VkHW_er_4, xmm0, code[nameof(Code.EVEX_Vfnmsub132sh_xmm_k1z_xmm_xmmm16_er)], N2, false },
							invalid,
						},
						invalid,
						invalid,
					},

					// A0
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength_er,
								new object[] { VkHW_er_4b, xmm0, code[nameof(Code.EVEX_Vfmaddsub213ph_xmm_k1z_xmm_xmmm128b16)], N16b2, false },
								new object[] { VkHW_er_4b, ymm0, code[nameof(Code.EVEX_Vfmaddsub213ph_ymm_k1z_ymm_ymmm256b16)], N32b2, false },
								new object[] { VkHW_er_4b, zmm0, code[nameof(Code.EVEX_Vfmaddsub213ph_zmm_k1z_zmm_zmmm512b16_er)], N64b2, false },
							},
							invalid,
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength_er,
								new object[] { VkHW_er_4b, xmm0, code[nameof(Code.EVEX_Vfmsubadd213ph_xmm_k1z_xmm_xmmm128b16)], N16b2, false },
								new object[] { VkHW_er_4b, ymm0, code[nameof(Code.EVEX_Vfmsubadd213ph_ymm_k1z_ymm_ymmm256b16)], N32b2, false },
								new object[] { VkHW_er_4b, zmm0, code[nameof(Code.EVEX_Vfmsubadd213ph_zmm_k1z_zmm_zmmm512b16_er)], N64b2, false },
							},
							invalid,
						},
						invalid,
						invalid,
					},

					// A8
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength_er,
								new object[] { VkHW_er_4b, xmm0, code[nameof(Code.EVEX_Vfmadd213ph_xmm_k1z_xmm_xmmm128b16)], N16b2, false },
								new object[] { VkHW_er_4b, ymm0, code[nameof(Code.EVEX_Vfmadd213ph_ymm_k1z_ymm_ymmm256b16)], N32b2, false },
								new object[] { VkHW_er_4b, zmm0, code[nameof(Code.EVEX_Vfmadd213ph_zmm_k1z_zmm_zmmm512b16_er)], N64b2, false },
							},
							invalid,
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VkHW_er_4, xmm0, code[nameof(Code.EVEX_Vfmadd213sh_xmm_k1z_xmm_xmmm16_er)], N2, false },
							invalid,
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength_er,
								new object[] { VkHW_er_4b, xmm0, code[nameof(Code.EVEX_Vfmsub213ph_xmm_k1z_xmm_xmmm128b16)], N16b2, false },
								new object[] { VkHW_er_4b, ymm0, code[nameof(Code.EVEX_Vfmsub213ph_ymm_k1z_ymm_ymmm256b16)], N32b2, false },
								new object[] { VkHW_er_4b, zmm0, code[nameof(Code.EVEX_Vfmsub213ph_zmm_k1z_zmm_zmmm512b16_er)], N64b2, false },
							},
							invalid,
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VkHW_er_4, xmm0, code[nameof(Code.EVEX_Vfmsub213sh_xmm_k1z_xmm_xmmm16_er)], N2, false },
							invalid,
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength_er,
								new object[] { VkHW_er_4b, xmm0, code[nameof(Code.EVEX_Vfnmadd213ph_xmm_k1z_xmm_xmmm128b16)], N16b2, false },
								new object[] { VkHW_er_4b, ymm0, code[nameof(Code.EVEX_Vfnmadd213ph_ymm_k1z_ymm_ymmm256b16)], N32b2, false },
								new object[] { VkHW_er_4b, zmm0, code[nameof(Code.EVEX_Vfnmadd213ph_zmm_k1z_zmm_zmmm512b16_er)], N64b2, false },
							},
							invalid,
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VkHW_er_4, xmm0, code[nameof(Code.EVEX_Vfnmadd213sh_xmm_k1z_xmm_xmmm16_er)], N2, false },
							invalid,
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength_er,
								new object[] { VkHW_er_4b, xmm0, code[nameof(Code.EVEX_Vfnmsub213ph_xmm_k1z_xmm_xmmm128b16)], N16b2, false },
								new object[] { VkHW_er_4b, ymm0, code[nameof(Code.EVEX_Vfnmsub213ph_ymm_k1z_ymm_ymmm256b16)], N32b2, false },
								new object[] { VkHW_er_4b, zmm0, code[nameof(Code.EVEX_Vfnmsub213ph_zmm_k1z_zmm_zmmm512b16_er)], N64b2, false },
							},
							invalid,
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VkHW_er_4, xmm0, code[nameof(Code.EVEX_Vfnmsub213sh_xmm_k1z_xmm_xmmm16_er)], N2, false },
							invalid,
						},
						invalid,
						invalid,
					},

					// B0
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength_er,
								new object[] { VkHW_er_4b, xmm0, code[nameof(Code.EVEX_Vfmaddsub231ph_xmm_k1z_xmm_xmmm128b16)], N16b2, false },
								new object[] { VkHW_er_4b, ymm0, code[nameof(Code.EVEX_Vfmaddsub231ph_ymm_k1z_ymm_ymmm256b16)], N32b2, false },
								new object[] { VkHW_er_4b, zmm0, code[nameof(Code.EVEX_Vfmaddsub231ph_zmm_k1z_zmm_zmmm512b16_er)], N64b2, false },
							},
							invalid,
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength_er,
								new object[] { VkHW_er_4b, xmm0, code[nameof(Code.EVEX_Vfmsubadd231ph_xmm_k1z_xmm_xmmm128b16)], N16b2, false },
								new object[] { VkHW_er_4b, ymm0, code[nameof(Code.EVEX_Vfmsubadd231ph_ymm_k1z_ymm_ymmm256b16)], N32b2, false },
								new object[] { VkHW_er_4b, zmm0, code[nameof(Code.EVEX_Vfmsubadd231ph_zmm_k1z_zmm_zmmm512b16_er)], N64b2, false },
							},
							invalid,
						},
						invalid,
						invalid,
					},

					// B8
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength_er,
								new object[] { VkHW_er_4b, xmm0, code[nameof(Code.EVEX_Vfmadd231ph_xmm_k1z_xmm_xmmm128b16)], N16b2, false },
								new object[] { VkHW_er_4b, ymm0, code[nameof(Code.EVEX_Vfmadd231ph_ymm_k1z_ymm_ymmm256b16)], N32b2, false },
								new object[] { VkHW_er_4b, zmm0, code[nameof(Code.EVEX_Vfmadd231ph_zmm_k1z_zmm_zmmm512b16_er)], N64b2, false },
							},
							invalid,
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VkHW_er_4, xmm0, code[nameof(Code.EVEX_Vfmadd231sh_xmm_k1z_xmm_xmmm16_er)], N2, false },
							invalid,
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength_er,
								new object[] { VkHW_er_4b, xmm0, code[nameof(Code.EVEX_Vfmsub231ph_xmm_k1z_xmm_xmmm128b16)], N16b2, false },
								new object[] { VkHW_er_4b, ymm0, code[nameof(Code.EVEX_Vfmsub231ph_ymm_k1z_ymm_ymmm256b16)], N32b2, false },
								new object[] { VkHW_er_4b, zmm0, code[nameof(Code.EVEX_Vfmsub231ph_zmm_k1z_zmm_zmmm512b16_er)], N64b2, false },
							},
							invalid,
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VkHW_er_4, xmm0, code[nameof(Code.EVEX_Vfmsub231sh_xmm_k1z_xmm_xmmm16_er)], N2, false },
							invalid,
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength_er,
								new object[] { VkHW_er_4b, xmm0, code[nameof(Code.EVEX_Vfnmadd231ph_xmm_k1z_xmm_xmmm128b16)], N16b2, false },
								new object[] { VkHW_er_4b, ymm0, code[nameof(Code.EVEX_Vfnmadd231ph_ymm_k1z_ymm_ymmm256b16)], N32b2, false },
								new object[] { VkHW_er_4b, zmm0, code[nameof(Code.EVEX_Vfnmadd231ph_zmm_k1z_zmm_zmmm512b16_er)], N64b2, false },
							},
							invalid,
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VkHW_er_4, xmm0, code[nameof(Code.EVEX_Vfnmadd231sh_xmm_k1z_xmm_xmmm16_er)], N2, false },
							invalid,
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength_er,
								new object[] { VkHW_er_4b, xmm0, code[nameof(Code.EVEX_Vfnmsub231ph_xmm_k1z_xmm_xmmm128b16)], N16b2, false },
								new object[] { VkHW_er_4b, ymm0, code[nameof(Code.EVEX_Vfnmsub231ph_ymm_k1z_ymm_ymmm256b16)], N32b2, false },
								new object[] { VkHW_er_4b, zmm0, code[nameof(Code.EVEX_Vfnmsub231ph_zmm_k1z_zmm_zmmm512b16_er)], N64b2, false },
							},
							invalid,
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VkHW_er_4, xmm0, code[nameof(Code.EVEX_Vfnmsub231sh_xmm_k1z_xmm_xmmm16_er)], N2, false },
							invalid,
						},
						invalid,
						invalid,
					},

					// C0
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,

					// C8
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,

					// D0
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					new object[] { MandatoryPrefix2,
						invalid,
						invalid,
						new object[] { W,
							new object[] { VectorLength_er,
								new object[] { VkHW_er_ur_3b, xmm0, code[nameof(Code.EVEX_Vfmulcph_xmm_k1z_xmm_xmmm128b32)], N16b4 },
								new object[] { VkHW_er_ur_3b, ymm0, code[nameof(Code.EVEX_Vfmulcph_ymm_k1z_ymm_ymmm256b32)], N32b4 },
								new object[] { VkHW_er_ur_3b, zmm0, code[nameof(Code.EVEX_Vfmulcph_zmm_k1z_zmm_zmmm512b32_er)], N64b4 },
							},
							invalid,
						},
						new object[] { W,
							new object[] { VectorLength_er,
								new object[] { VkHW_er_ur_3b, xmm0, code[nameof(Code.EVEX_Vfcmulcph_xmm_k1z_xmm_xmmm128b32)], N16b4 },
								new object[] { VkHW_er_ur_3b, ymm0, code[nameof(Code.EVEX_Vfcmulcph_ymm_k1z_ymm_ymmm256b32)], N32b4 },
								new object[] { VkHW_er_ur_3b, zmm0, code[nameof(Code.EVEX_Vfcmulcph_zmm_k1z_zmm_zmmm512b32_er)], N64b4 },
							},
							invalid,
						},
					},
					new object[] { MandatoryPrefix2,
						invalid,
						invalid,
						new object[] { W,
							new object[] { VkHW_er_ur_3, xmm0, code[nameof(Code.EVEX_Vfmulcsh_xmm_k1z_xmm_xmmm32_er)], N4 },
							invalid,
						},
						new object[] { W,
							new object[] { VkHW_er_ur_3, xmm0, code[nameof(Code.EVEX_Vfcmulcsh_xmm_k1z_xmm_xmmm32_er)], N4 },
							invalid,
						},
					},

					// D8
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,

					// E0
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,

					// E8
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,

					// F0
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,

					// F8
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
				}),

				(Handlers_0F,
				new object[0x100] {
					// 00
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,

					// 08
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,

					// 10
					new object[] { MandatoryPrefix2,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { VkW_3, xmm0, code[nameof(Code.EVEX_Vmovups_xmm_k1z_xmmm128)], N16 },
								new object[] { VkW_3, ymm0, code[nameof(Code.EVEX_Vmovups_ymm_k1z_ymmm256)], N32 },
								new object[] { VkW_3, zmm0, code[nameof(Code.EVEX_Vmovups_zmm_k1z_zmmm512)], N64 },
							},
							invalid,
						},
						new object[] { W,
							invalid,
							new object[] { VectorLength,
								new object[] { VkW_3, xmm0, code[nameof(Code.EVEX_Vmovupd_xmm_k1z_xmmm128)], N16 },
								new object[] { VkW_3, ymm0, code[nameof(Code.EVEX_Vmovupd_ymm_k1z_ymmm256)], N32 },
								new object[] { VkW_3, zmm0, code[nameof(Code.EVEX_Vmovupd_zmm_k1z_zmmm512)], N64 },
							},
						},
						new object[] { W,
							new object[] { RM,
								new object[] { VkHW_3, xmm0, code[nameof(Code.EVEX_Vmovss_xmm_k1z_xmm_xmm)], N1 },
								new object[] { VkW_3, xmm0, code[nameof(Code.EVEX_Vmovss_xmm_k1z_m32)], N4 },
							},
							invalid,
						},
						new object[] { W,
							invalid,
							new object[] { RM,
								new object[] { VkHW_3, xmm0, code[nameof(Code.EVEX_Vmovsd_xmm_k1z_xmm_xmm)], N1 },
								new object[] { VkW_3, xmm0, code[nameof(Code.EVEX_Vmovsd_xmm_k1z_m64)], N8 },
							},
						},
					},
					new object[] { MandatoryPrefix2,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { WkV_3, xmm0, code[nameof(Code.EVEX_Vmovups_xmmm128_k1z_xmm)], N16 },
								new object[] { WkV_3, ymm0, code[nameof(Code.EVEX_Vmovups_ymmm256_k1z_ymm)], N32 },
								new object[] { WkV_3, zmm0, code[nameof(Code.EVEX_Vmovups_zmmm512_k1z_zmm)], N64 },
							},
							invalid,
						},
						new object[] { W,
							invalid,
							new object[] { VectorLength,
								new object[] { WkV_3, xmm0, code[nameof(Code.EVEX_Vmovupd_xmmm128_k1z_xmm)], N16 },
								new object[] { WkV_3, ymm0, code[nameof(Code.EVEX_Vmovupd_ymmm256_k1z_ymm)], N32 },
								new object[] { WkV_3, zmm0, code[nameof(Code.EVEX_Vmovupd_zmmm512_k1z_zmm)], N64 },
							},
						},
						new object[] { W,
							new object[] { RM,
								new object[] { WkHV, xmm0, code[nameof(Code.EVEX_Vmovss_xmm_k1z_xmm_xmm_0F11)] },
								new object[] { WkV_4b, xmm0, code[nameof(Code.EVEX_Vmovss_m32_k1_xmm)], N4, false },
							},
							invalid,
						},
						new object[] { W,
							invalid,
							new object[] { RM,
								new object[] { WkHV, xmm0, code[nameof(Code.EVEX_Vmovsd_xmm_k1z_xmm_xmm_0F11)] },
								new object[] { WkV_4b, xmm0, code[nameof(Code.EVEX_Vmovsd_m64_k1_xmm)], N8, false },
							},
						},
					},
					new object[] { MandatoryPrefix2,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { VHW_4, xmm0, code[nameof(Code.EVEX_Vmovhlps_xmm_xmm_xmm)], code[nameof(Code.EVEX_Vmovlps_xmm_xmm_m64)], N8 },
								invalid,
								invalid,
							},
							invalid,
						},
						new object[] { W,
							invalid,
							new object[] { VectorLength,
								new object[] { VHM, xmm0, code[nameof(Code.EVEX_Vmovlpd_xmm_xmm_m64)], N8 },
								invalid,
								invalid,
							},
						},
						new object[] { W,
							new object[] { VectorLength,
								new object[] { VkW_3, xmm0, code[nameof(Code.EVEX_Vmovsldup_xmm_k1z_xmmm128)], N16 },
								new object[] { VkW_3, ymm0, code[nameof(Code.EVEX_Vmovsldup_ymm_k1z_ymmm256)], N32 },
								new object[] { VkW_3, zmm0, code[nameof(Code.EVEX_Vmovsldup_zmm_k1z_zmmm512)], N64 },
							},
							invalid,
						},
						new object[] { W,
							invalid,
							new object[] { VectorLength,
								new object[] { VkW_3, xmm0, code[nameof(Code.EVEX_Vmovddup_xmm_k1z_xmmm64)], N8 },
								new object[] { VkW_3, ymm0, code[nameof(Code.EVEX_Vmovddup_ymm_k1z_ymmm256)], N32 },
								new object[] { VkW_3, zmm0, code[nameof(Code.EVEX_Vmovddup_zmm_k1z_zmmm512)], N64 },
							},
						},
					},
					new object[] { MandatoryPrefix2,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { MV, xmm0, code[nameof(Code.EVEX_Vmovlps_m64_xmm)], N8 },
								invalid,
								invalid,
							},
							invalid,
						},
						new object[] { W,
							invalid,
							new object[] { VectorLength,
								new object[] { MV, xmm0, code[nameof(Code.EVEX_Vmovlpd_m64_xmm)], N8 },
								invalid,
								invalid,
							},
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { VkHW_3b, xmm0, code[nameof(Code.EVEX_Vunpcklps_xmm_k1z_xmm_xmmm128b32)], N16b4 },
								new object[] { VkHW_3b, ymm0, code[nameof(Code.EVEX_Vunpcklps_ymm_k1z_ymm_ymmm256b32)], N32b4 },
								new object[] { VkHW_3b, zmm0, code[nameof(Code.EVEX_Vunpcklps_zmm_k1z_zmm_zmmm512b32)], N64b4 },
							},
							invalid,
						},
						new object[] { W,
							invalid,
							new object[] { VectorLength,
								new object[] { VkHW_3b, xmm0, code[nameof(Code.EVEX_Vunpcklpd_xmm_k1z_xmm_xmmm128b64)], N16b8 },
								new object[] { VkHW_3b, ymm0, code[nameof(Code.EVEX_Vunpcklpd_ymm_k1z_ymm_ymmm256b64)], N32b8 },
								new object[] { VkHW_3b, zmm0, code[nameof(Code.EVEX_Vunpcklpd_zmm_k1z_zmm_zmmm512b64)], N64b8 },
							},
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { VkHW_3b, xmm0, code[nameof(Code.EVEX_Vunpckhps_xmm_k1z_xmm_xmmm128b32)], N16b4 },
								new object[] { VkHW_3b, ymm0, code[nameof(Code.EVEX_Vunpckhps_ymm_k1z_ymm_ymmm256b32)], N32b4 },
								new object[] { VkHW_3b, zmm0, code[nameof(Code.EVEX_Vunpckhps_zmm_k1z_zmm_zmmm512b32)], N64b4 },
							},
							invalid,
						},
						new object[] { W,
							invalid,
							new object[] { VectorLength,
								new object[] { VkHW_3b, xmm0, code[nameof(Code.EVEX_Vunpckhpd_xmm_k1z_xmm_xmmm128b64)], N16b8 },
								new object[] { VkHW_3b, ymm0, code[nameof(Code.EVEX_Vunpckhpd_ymm_k1z_ymm_ymmm256b64)], N32b8 },
								new object[] { VkHW_3b, zmm0, code[nameof(Code.EVEX_Vunpckhpd_zmm_k1z_zmm_zmmm512b64)], N64b8 },
							},
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { VHW_4, xmm0, code[nameof(Code.EVEX_Vmovlhps_xmm_xmm_xmm)], code[nameof(Code.EVEX_Vmovhps_xmm_xmm_m64)], N8 },
								invalid,
								invalid,
							},
							invalid,
						},
						new object[] { W,
							invalid,
							new object[] { VectorLength,
								new object[] { VHM, xmm0, code[nameof(Code.EVEX_Vmovhpd_xmm_xmm_m64)], N8 },
								invalid,
								invalid,
							},
						},
						new object[] { W,
							new object[] { VectorLength,
								new object[] { VkW_3, xmm0, code[nameof(Code.EVEX_Vmovshdup_xmm_k1z_xmmm128)], N16 },
								new object[] { VkW_3, ymm0, code[nameof(Code.EVEX_Vmovshdup_ymm_k1z_ymmm256)], N32 },
								new object[] { VkW_3, zmm0, code[nameof(Code.EVEX_Vmovshdup_zmm_k1z_zmmm512)], N64 },
							},
							invalid,
						},
						invalid,
					},
					new object[] { MandatoryPrefix2,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { MV, xmm0, code[nameof(Code.EVEX_Vmovhps_m64_xmm)], N8 },
								invalid,
								invalid,
							},
							invalid,
						},
						new object[] { W,
							invalid,
							new object[] { VectorLength,
								new object[] { MV, xmm0, code[nameof(Code.EVEX_Vmovhpd_m64_xmm)], N8 },
								invalid,
								invalid,
							},
						},
						invalid,
						invalid,
					},

					// 18
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,

					// 20
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,

					// 28
					new object[] { MandatoryPrefix2,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { VkW_3, xmm0, code[nameof(Code.EVEX_Vmovaps_xmm_k1z_xmmm128)], N16 },
								new object[] { VkW_3, ymm0, code[nameof(Code.EVEX_Vmovaps_ymm_k1z_ymmm256)], N32 },
								new object[] { VkW_3, zmm0, code[nameof(Code.EVEX_Vmovaps_zmm_k1z_zmmm512)], N64 },
							},
							invalid,
						},
						new object[] { W,
							invalid,
							new object[] { VectorLength,
								new object[] { VkW_3, xmm0, code[nameof(Code.EVEX_Vmovapd_xmm_k1z_xmmm128)], N16 },
								new object[] { VkW_3, ymm0, code[nameof(Code.EVEX_Vmovapd_ymm_k1z_ymmm256)], N32 },
								new object[] { VkW_3, zmm0, code[nameof(Code.EVEX_Vmovapd_zmm_k1z_zmmm512)], N64 },
							},
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { WkV_3, xmm0, code[nameof(Code.EVEX_Vmovaps_xmmm128_k1z_xmm)], N16 },
								new object[] { WkV_3, ymm0, code[nameof(Code.EVEX_Vmovaps_ymmm256_k1z_ymm)], N32 },
								new object[] { WkV_3, zmm0, code[nameof(Code.EVEX_Vmovaps_zmmm512_k1z_zmm)], N64 },
							},
							invalid,
						},
						new object[] { W,
							invalid,
							new object[] { VectorLength,
								new object[] { WkV_3, xmm0, code[nameof(Code.EVEX_Vmovapd_xmmm128_k1z_xmm)], N16 },
								new object[] { WkV_3, ymm0, code[nameof(Code.EVEX_Vmovapd_ymmm256_k1z_ymm)], N32 },
								new object[] { WkV_3, zmm0, code[nameof(Code.EVEX_Vmovapd_zmmm512_k1z_zmm)], N64 },
							},
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						invalid,
						new object[] { V_H_Ev_er, xmm0, code[nameof(Code.EVEX_Vcvtsi2ss_xmm_xmm_rm32_er)], code[nameof(Code.EVEX_Vcvtsi2ss_xmm_xmm_rm64_er)], N4, N8 },
						new object[] { V_H_Ev_er, xmm0, code[nameof(Code.EVEX_Vcvtsi2sd_xmm_xmm_rm32_er)], code[nameof(Code.EVEX_Vcvtsi2sd_xmm_xmm_rm64_er)], N4, N8 },
					},
					new object[] { MandatoryPrefix2,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { MV, xmm0, code[nameof(Code.EVEX_Vmovntps_m128_xmm)], N16 },
								new object[] { MV, ymm0, code[nameof(Code.EVEX_Vmovntps_m256_ymm)], N32 },
								new object[] { MV, zmm0, code[nameof(Code.EVEX_Vmovntps_m512_zmm)], N64 },
							},
							invalid,
						},
						new object[] { W,
							invalid,
							new object[] { VectorLength,
								new object[] { MV, xmm0, code[nameof(Code.EVEX_Vmovntpd_m128_xmm)], N16 },
								new object[] { MV, ymm0, code[nameof(Code.EVEX_Vmovntpd_m256_ymm)], N32 },
								new object[] { MV, zmm0, code[nameof(Code.EVEX_Vmovntpd_m512_zmm)], N64 },
							},
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						invalid,
						new object[] { Gv_W_er, xmm0, code[nameof(Code.EVEX_Vcvttss2si_r32_xmmm32_sae)], code[nameof(Code.EVEX_Vcvttss2si_r64_xmmm32_sae)], N4, true },
						new object[] { Gv_W_er, xmm0, code[nameof(Code.EVEX_Vcvttsd2si_r32_xmmm64_sae)], code[nameof(Code.EVEX_Vcvttsd2si_r64_xmmm64_sae)], N8, true },
					},
					new object[] { MandatoryPrefix2,
						invalid,
						invalid,
						new object[] { Gv_W_er, xmm0, code[nameof(Code.EVEX_Vcvtss2si_r32_xmmm32_er)], code[nameof(Code.EVEX_Vcvtss2si_r64_xmmm32_er)], N4, false },
						new object[] { Gv_W_er, xmm0, code[nameof(Code.EVEX_Vcvtsd2si_r32_xmmm64_er)], code[nameof(Code.EVEX_Vcvtsd2si_r64_xmmm64_er)], N8, false },
					},
					new object[] { MandatoryPrefix2,
						new object[] { W,
							new object[] { VW_er, xmm0, code[nameof(Code.EVEX_Vucomiss_xmm_xmmm32_sae)], N4 },
							invalid,
						},
						new object[] { W,
							invalid,
							new object[] { VW_er, xmm0, code[nameof(Code.EVEX_Vucomisd_xmm_xmmm64_sae)], N8 },
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						new object[] { W,
							new object[] { VW_er, xmm0, code[nameof(Code.EVEX_Vcomiss_xmm_xmmm32_sae)], N4 },
							invalid,
						},
						new object[] { W,
							invalid,
							new object[] { VW_er, xmm0, code[nameof(Code.EVEX_Vcomisd_xmm_xmmm64_sae)], N8 },
						},
						invalid,
						invalid,
					},

					// 30
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,

					// 38
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,

					// 40
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,

					// 48
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,

					// 50
					invalid,
					new object[] { MandatoryPrefix2,
						new object[] { W,
							new object[] { VectorLength_er,
								new object[] { VkW_er_4, xmm0, code[nameof(Code.EVEX_Vsqrtps_xmm_k1z_xmmm128b32)], N16b4, false },
								new object[] { VkW_er_4, ymm0, code[nameof(Code.EVEX_Vsqrtps_ymm_k1z_ymmm256b32)], N32b4, false },
								new object[] { VkW_er_4, zmm0, code[nameof(Code.EVEX_Vsqrtps_zmm_k1z_zmmm512b32_er)], N64b4, false },
							},
							invalid,
						},
						new object[] { W,
							invalid,
							new object[] { VectorLength_er,
								new object[] { VkW_er_4, xmm0, code[nameof(Code.EVEX_Vsqrtpd_xmm_k1z_xmmm128b64)], N16b8, false },
								new object[] { VkW_er_4, ymm0, code[nameof(Code.EVEX_Vsqrtpd_ymm_k1z_ymmm256b64)], N32b8, false },
								new object[] { VkW_er_4, zmm0, code[nameof(Code.EVEX_Vsqrtpd_zmm_k1z_zmmm512b64_er)], N64b8, false },
							},
						},
						new object[] { W,
							new object[] { VkHW_er_4, xmm0, code[nameof(Code.EVEX_Vsqrtss_xmm_k1z_xmm_xmmm32_er)], N4, false },
							invalid,
						},
						new object[] { W,
							invalid,
							new object[] { VkHW_er_4, xmm0, code[nameof(Code.EVEX_Vsqrtsd_xmm_k1z_xmm_xmmm64_er)], N8, false },
						},
					},
					invalid,
					invalid,
					new object[] { MandatoryPrefix2,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { VkHW_3b, xmm0, code[nameof(Code.EVEX_Vandps_xmm_k1z_xmm_xmmm128b32)], N16b4 },
								new object[] { VkHW_3b, ymm0, code[nameof(Code.EVEX_Vandps_ymm_k1z_ymm_ymmm256b32)], N32b4 },
								new object[] { VkHW_3b, zmm0, code[nameof(Code.EVEX_Vandps_zmm_k1z_zmm_zmmm512b32)], N64b4 },
							},
							invalid,
						},
						new object[] { W,
							invalid,
							new object[] { VectorLength,
								new object[] { VkHW_3b, xmm0, code[nameof(Code.EVEX_Vandpd_xmm_k1z_xmm_xmmm128b64)], N16b8 },
								new object[] { VkHW_3b, ymm0, code[nameof(Code.EVEX_Vandpd_ymm_k1z_ymm_ymmm256b64)], N32b8 },
								new object[] { VkHW_3b, zmm0, code[nameof(Code.EVEX_Vandpd_zmm_k1z_zmm_zmmm512b64)], N64b8 },
							},
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { VkHW_3b, xmm0, code[nameof(Code.EVEX_Vandnps_xmm_k1z_xmm_xmmm128b32)], N16b4 },
								new object[] { VkHW_3b, ymm0, code[nameof(Code.EVEX_Vandnps_ymm_k1z_ymm_ymmm256b32)], N32b4 },
								new object[] { VkHW_3b, zmm0, code[nameof(Code.EVEX_Vandnps_zmm_k1z_zmm_zmmm512b32)], N64b4 },
							},
							invalid,
						},
						new object[] { W,
							invalid,
							new object[] { VectorLength,
								new object[] { VkHW_3b, xmm0, code[nameof(Code.EVEX_Vandnpd_xmm_k1z_xmm_xmmm128b64)], N16b8 },
								new object[] { VkHW_3b, ymm0, code[nameof(Code.EVEX_Vandnpd_ymm_k1z_ymm_ymmm256b64)], N32b8 },
								new object[] { VkHW_3b, zmm0, code[nameof(Code.EVEX_Vandnpd_zmm_k1z_zmm_zmmm512b64)], N64b8 },
							},
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { VkHW_3b, xmm0, code[nameof(Code.EVEX_Vorps_xmm_k1z_xmm_xmmm128b32)], N16b4 },
								new object[] { VkHW_3b, ymm0, code[nameof(Code.EVEX_Vorps_ymm_k1z_ymm_ymmm256b32)], N32b4 },
								new object[] { VkHW_3b, zmm0, code[nameof(Code.EVEX_Vorps_zmm_k1z_zmm_zmmm512b32)], N64b4 },
							},
							invalid,
						},
						new object[] { W,
							invalid,
							new object[] { VectorLength,
								new object[] { VkHW_3b, xmm0, code[nameof(Code.EVEX_Vorpd_xmm_k1z_xmm_xmmm128b64)], N16b8 },
								new object[] { VkHW_3b, ymm0, code[nameof(Code.EVEX_Vorpd_ymm_k1z_ymm_ymmm256b64)], N32b8 },
								new object[] { VkHW_3b, zmm0, code[nameof(Code.EVEX_Vorpd_zmm_k1z_zmm_zmmm512b64)], N64b8 },
							},
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { VkHW_3b, xmm0, code[nameof(Code.EVEX_Vxorps_xmm_k1z_xmm_xmmm128b32)], N16b4 },
								new object[] { VkHW_3b, ymm0, code[nameof(Code.EVEX_Vxorps_ymm_k1z_ymm_ymmm256b32)], N32b4 },
								new object[] { VkHW_3b, zmm0, code[nameof(Code.EVEX_Vxorps_zmm_k1z_zmm_zmmm512b32)], N64b4 },
							},
							invalid,
						},
						new object[] { W,
							invalid,
							new object[] { VectorLength,
								new object[] { VkHW_3b, xmm0, code[nameof(Code.EVEX_Vxorpd_xmm_k1z_xmm_xmmm128b64)], N16b8 },
								new object[] { VkHW_3b, ymm0, code[nameof(Code.EVEX_Vxorpd_ymm_k1z_ymm_ymmm256b64)], N32b8 },
								new object[] { VkHW_3b, zmm0, code[nameof(Code.EVEX_Vxorpd_zmm_k1z_zmm_zmmm512b64)], N64b8 },
							},
						},
						invalid,
						invalid,
					},

					// 58
					new object[] { MandatoryPrefix2,
						new object[] { W,
							new object[] { VectorLength_er,
								new object[] { VkHW_er_4b, xmm0, code[nameof(Code.EVEX_Vaddps_xmm_k1z_xmm_xmmm128b32)], N16b4, false },
								new object[] { VkHW_er_4b, ymm0, code[nameof(Code.EVEX_Vaddps_ymm_k1z_ymm_ymmm256b32)], N32b4, false },
								new object[] { VkHW_er_4b, zmm0, code[nameof(Code.EVEX_Vaddps_zmm_k1z_zmm_zmmm512b32_er)], N64b4, false },
							},
							invalid,
						},
						new object[] { W,
							invalid,
							new object[] { VectorLength_er,
								new object[] { VkHW_er_4b, xmm0, code[nameof(Code.EVEX_Vaddpd_xmm_k1z_xmm_xmmm128b64)], N16b8, false },
								new object[] { VkHW_er_4b, ymm0, code[nameof(Code.EVEX_Vaddpd_ymm_k1z_ymm_ymmm256b64)], N32b8, false },
								new object[] { VkHW_er_4b, zmm0, code[nameof(Code.EVEX_Vaddpd_zmm_k1z_zmm_zmmm512b64_er)], N64b8, false },
							},
						},
						new object[] { W,
							new object[] { VkHW_er_4, xmm0, code[nameof(Code.EVEX_Vaddss_xmm_k1z_xmm_xmmm32_er)], N4, false },
							invalid,
						},
						new object[] { W,
							invalid,
							new object[] { VkHW_er_4, xmm0, code[nameof(Code.EVEX_Vaddsd_xmm_k1z_xmm_xmmm64_er)], N8, false },
						},
					},
					new object[] { MandatoryPrefix2,
						new object[] { W,
							new object[] { VectorLength_er,
								new object[] { VkHW_er_4b, xmm0, code[nameof(Code.EVEX_Vmulps_xmm_k1z_xmm_xmmm128b32)], N16b4, false },
								new object[] { VkHW_er_4b, ymm0, code[nameof(Code.EVEX_Vmulps_ymm_k1z_ymm_ymmm256b32)], N32b4, false },
								new object[] { VkHW_er_4b, zmm0, code[nameof(Code.EVEX_Vmulps_zmm_k1z_zmm_zmmm512b32_er)], N64b4, false },
							},
							invalid,
						},
						new object[] { W,
							invalid,
							new object[] { VectorLength_er,
								new object[] { VkHW_er_4b, xmm0, code[nameof(Code.EVEX_Vmulpd_xmm_k1z_xmm_xmmm128b64)], N16b8, false },
								new object[] { VkHW_er_4b, ymm0, code[nameof(Code.EVEX_Vmulpd_ymm_k1z_ymm_ymmm256b64)], N32b8, false },
								new object[] { VkHW_er_4b, zmm0, code[nameof(Code.EVEX_Vmulpd_zmm_k1z_zmm_zmmm512b64_er)], N64b8, false },
							},
						},
						new object[] { W,
							new object[] { VkHW_er_4, xmm0, code[nameof(Code.EVEX_Vmulss_xmm_k1z_xmm_xmmm32_er)], N4, false },
							invalid,
						},
						new object[] { W,
							invalid,
							new object[] { VkHW_er_4, xmm0, code[nameof(Code.EVEX_Vmulsd_xmm_k1z_xmm_xmmm64_er)], N8, false },
						},
					},
					new object[] { MandatoryPrefix2,
						new object[] { W,
							new object[] { VectorLength_er,
								new object[] { VkW_er_5, xmm0, xmm0, code[nameof(Code.EVEX_Vcvtps2pd_xmm_k1z_xmmm64b32)], N8b4, true },
								new object[] { VkW_er_5, ymm0, xmm0, code[nameof(Code.EVEX_Vcvtps2pd_ymm_k1z_xmmm128b32)], N16b4, true },
								new object[] { VkW_er_5, zmm0, ymm0, code[nameof(Code.EVEX_Vcvtps2pd_zmm_k1z_ymmm256b32_sae)], N32b4, true },
							},
							invalid,
						},
						new object[] { W,
							invalid,
							new object[] { VectorLength_er,
								new object[] { VkW_er_5, xmm0, xmm0, code[nameof(Code.EVEX_Vcvtpd2ps_xmm_k1z_xmmm128b64)], N16b8, false },
								new object[] { VkW_er_5, xmm0, ymm0, code[nameof(Code.EVEX_Vcvtpd2ps_xmm_k1z_ymmm256b64)], N32b8, false },
								new object[] { VkW_er_5, ymm0, zmm0, code[nameof(Code.EVEX_Vcvtpd2ps_ymm_k1z_zmmm512b64_er)], N64b8, false },
							},
						},
						new object[] { W,
							new object[] { VkHW_er_4, xmm0, code[nameof(Code.EVEX_Vcvtss2sd_xmm_k1z_xmm_xmmm32_sae)], N4, true },
							invalid,
						},
						new object[] { W,
							invalid,
							new object[] { VkHW_er_4, xmm0, code[nameof(Code.EVEX_Vcvtsd2ss_xmm_k1z_xmm_xmmm64_er)], N8, false },
						},
					},
					new object[] { MandatoryPrefix2,
						new object[] { W,
							new object[] { VectorLength_er,
								new object[] { VkW_er_4, xmm0, code[nameof(Code.EVEX_Vcvtdq2ps_xmm_k1z_xmmm128b32)], N16b4, false },
								new object[] { VkW_er_4, ymm0, code[nameof(Code.EVEX_Vcvtdq2ps_ymm_k1z_ymmm256b32)], N32b4, false },
								new object[] { VkW_er_4, zmm0, code[nameof(Code.EVEX_Vcvtdq2ps_zmm_k1z_zmmm512b32_er)], N64b4, false },
							},
							new object[] { VectorLength_er,
								new object[] { VkW_er_5, xmm0, xmm0, code[nameof(Code.EVEX_Vcvtqq2ps_xmm_k1z_xmmm128b64)], N16b8, false },
								new object[] { VkW_er_5, xmm0, ymm0, code[nameof(Code.EVEX_Vcvtqq2ps_xmm_k1z_ymmm256b64)], N32b8, false },
								new object[] { VkW_er_5, ymm0, zmm0, code[nameof(Code.EVEX_Vcvtqq2ps_ymm_k1z_zmmm512b64_er)], N64b8, false },
							},
						},
						new object[] { W,
							new object[] { VectorLength_er,
								new object[] { VkW_er_4, xmm0, code[nameof(Code.EVEX_Vcvtps2dq_xmm_k1z_xmmm128b32)], N16b4, false },
								new object[] { VkW_er_4, ymm0, code[nameof(Code.EVEX_Vcvtps2dq_ymm_k1z_ymmm256b32)], N32b4, false },
								new object[] { VkW_er_4, zmm0, code[nameof(Code.EVEX_Vcvtps2dq_zmm_k1z_zmmm512b32_er)], N64b4, false },
							},
							invalid,
						},
						new object[] { W,
							new object[] { VectorLength_er,
								new object[] { VkW_er_4, xmm0, code[nameof(Code.EVEX_Vcvttps2dq_xmm_k1z_xmmm128b32)], N16b4, true },
								new object[] { VkW_er_4, ymm0, code[nameof(Code.EVEX_Vcvttps2dq_ymm_k1z_ymmm256b32)], N32b4, true },
								new object[] { VkW_er_4, zmm0, code[nameof(Code.EVEX_Vcvttps2dq_zmm_k1z_zmmm512b32_sae)], N64b4, true },
							},
							invalid,
						},
						invalid,
					},
					new object[] { MandatoryPrefix2,
						new object[] { W,
							new object[] { VectorLength_er,
								new object[] { VkHW_er_4b, xmm0, code[nameof(Code.EVEX_Vsubps_xmm_k1z_xmm_xmmm128b32)], N16b4, false },
								new object[] { VkHW_er_4b, ymm0, code[nameof(Code.EVEX_Vsubps_ymm_k1z_ymm_ymmm256b32)], N32b4, false },
								new object[] { VkHW_er_4b, zmm0, code[nameof(Code.EVEX_Vsubps_zmm_k1z_zmm_zmmm512b32_er)], N64b4, false },
							},
							invalid,
						},
						new object[] { W,
							invalid,
							new object[] { VectorLength_er,
								new object[] { VkHW_er_4b, xmm0, code[nameof(Code.EVEX_Vsubpd_xmm_k1z_xmm_xmmm128b64)], N16b8, false },
								new object[] { VkHW_er_4b, ymm0, code[nameof(Code.EVEX_Vsubpd_ymm_k1z_ymm_ymmm256b64)], N32b8, false },
								new object[] { VkHW_er_4b, zmm0, code[nameof(Code.EVEX_Vsubpd_zmm_k1z_zmm_zmmm512b64_er)], N64b8, false },
							},
						},
						new object[] { W,
							new object[] { VkHW_er_4, xmm0, code[nameof(Code.EVEX_Vsubss_xmm_k1z_xmm_xmmm32_er)], N4, false },
							invalid,
						},
						new object[] { W,
							invalid,
							new object[] { VkHW_er_4, xmm0, code[nameof(Code.EVEX_Vsubsd_xmm_k1z_xmm_xmmm64_er)], N8, false },
						},
					},
					new object[] { MandatoryPrefix2,
						new object[] { W,
							new object[] { VectorLength_er,
								new object[] { VkHW_er_4b, xmm0, code[nameof(Code.EVEX_Vminps_xmm_k1z_xmm_xmmm128b32)], N16b4, true },
								new object[] { VkHW_er_4b, ymm0, code[nameof(Code.EVEX_Vminps_ymm_k1z_ymm_ymmm256b32)], N32b4, true },
								new object[] { VkHW_er_4b, zmm0, code[nameof(Code.EVEX_Vminps_zmm_k1z_zmm_zmmm512b32_sae)], N64b4, true },
							},
							invalid,
						},
						new object[] { W,
							invalid,
							new object[] { VectorLength_er,
								new object[] { VkHW_er_4b, xmm0, code[nameof(Code.EVEX_Vminpd_xmm_k1z_xmm_xmmm128b64)], N16b8, true },
								new object[] { VkHW_er_4b, ymm0, code[nameof(Code.EVEX_Vminpd_ymm_k1z_ymm_ymmm256b64)], N32b8, true },
								new object[] { VkHW_er_4b, zmm0, code[nameof(Code.EVEX_Vminpd_zmm_k1z_zmm_zmmm512b64_sae)], N64b8, true },
							},
						},
						new object[] { W,
							new object[] { VkHW_er_4, xmm0, code[nameof(Code.EVEX_Vminss_xmm_k1z_xmm_xmmm32_sae)], N4, true },
							invalid,
						},
						new object[] { W,
							invalid,
							new object[] { VkHW_er_4, xmm0, code[nameof(Code.EVEX_Vminsd_xmm_k1z_xmm_xmmm64_sae)], N8, true },
						},
					},
					new object[] { MandatoryPrefix2,
						new object[] { W,
							new object[] { VectorLength_er,
								new object[] { VkHW_er_4b, xmm0, code[nameof(Code.EVEX_Vdivps_xmm_k1z_xmm_xmmm128b32)], N16b4, false },
								new object[] { VkHW_er_4b, ymm0, code[nameof(Code.EVEX_Vdivps_ymm_k1z_ymm_ymmm256b32)], N32b4, false },
								new object[] { VkHW_er_4b, zmm0, code[nameof(Code.EVEX_Vdivps_zmm_k1z_zmm_zmmm512b32_er)], N64b4, false },
							},
							invalid,
						},
						new object[] { W,
							invalid,
							new object[] { VectorLength_er,
								new object[] { VkHW_er_4b, xmm0, code[nameof(Code.EVEX_Vdivpd_xmm_k1z_xmm_xmmm128b64)], N16b8, false },
								new object[] { VkHW_er_4b, ymm0, code[nameof(Code.EVEX_Vdivpd_ymm_k1z_ymm_ymmm256b64)], N32b8, false },
								new object[] { VkHW_er_4b, zmm0, code[nameof(Code.EVEX_Vdivpd_zmm_k1z_zmm_zmmm512b64_er)], N64b8, false },
							},
						},
						new object[] { W,
							new object[] { VkHW_er_4, xmm0, code[nameof(Code.EVEX_Vdivss_xmm_k1z_xmm_xmmm32_er)], N4, false },
							invalid,
						},
						new object[] { W,
							invalid,
							new object[] { VkHW_er_4, xmm0, code[nameof(Code.EVEX_Vdivsd_xmm_k1z_xmm_xmmm64_er)], N8, false },
						},
					},
					new object[] { MandatoryPrefix2,
						new object[] { W,
							new object[] { VectorLength_er,
								new object[] { VkHW_er_4b, xmm0, code[nameof(Code.EVEX_Vmaxps_xmm_k1z_xmm_xmmm128b32)], N16b4, true },
								new object[] { VkHW_er_4b, ymm0, code[nameof(Code.EVEX_Vmaxps_ymm_k1z_ymm_ymmm256b32)], N32b4, true },
								new object[] { VkHW_er_4b, zmm0, code[nameof(Code.EVEX_Vmaxps_zmm_k1z_zmm_zmmm512b32_sae)], N64b4, true },
							},
							invalid,
						},
						new object[] { W,
							invalid,
							new object[] { VectorLength_er,
								new object[] { VkHW_er_4b, xmm0, code[nameof(Code.EVEX_Vmaxpd_xmm_k1z_xmm_xmmm128b64)], N16b8, true },
								new object[] { VkHW_er_4b, ymm0, code[nameof(Code.EVEX_Vmaxpd_ymm_k1z_ymm_ymmm256b64)], N32b8, true },
								new object[] { VkHW_er_4b, zmm0, code[nameof(Code.EVEX_Vmaxpd_zmm_k1z_zmm_zmmm512b64_sae)], N64b8, true },
							},
						},
						new object[] { W,
							new object[] { VkHW_er_4, xmm0, code[nameof(Code.EVEX_Vmaxss_xmm_k1z_xmm_xmmm32_sae)], N4, true },
							invalid,
						},
						new object[] { W,
							invalid,
							new object[] { VkHW_er_4, xmm0, code[nameof(Code.EVEX_Vmaxsd_xmm_k1z_xmm_xmmm64_sae)], N8, true },
						},
					},

					// 60
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { VectorLength,
							new object[] { VkHW_3, xmm0, code[nameof(Code.EVEX_Vpunpcklbw_xmm_k1z_xmm_xmmm128)], N16 },
							new object[] { VkHW_3, ymm0, code[nameof(Code.EVEX_Vpunpcklbw_ymm_k1z_ymm_ymmm256)], N32 },
							new object[] { VkHW_3, zmm0, code[nameof(Code.EVEX_Vpunpcklbw_zmm_k1z_zmm_zmmm512)], N64 },
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { VectorLength,
							new object[] { VkHW_3, xmm0, code[nameof(Code.EVEX_Vpunpcklwd_xmm_k1z_xmm_xmmm128)], N16 },
							new object[] { VkHW_3, ymm0, code[nameof(Code.EVEX_Vpunpcklwd_ymm_k1z_ymm_ymmm256)], N32 },
							new object[] { VkHW_3, zmm0, code[nameof(Code.EVEX_Vpunpcklwd_zmm_k1z_zmm_zmmm512)], N64 },
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { VkHW_3b, xmm0, code[nameof(Code.EVEX_Vpunpckldq_xmm_k1z_xmm_xmmm128b32)], N16b4 },
								new object[] { VkHW_3b, ymm0, code[nameof(Code.EVEX_Vpunpckldq_ymm_k1z_ymm_ymmm256b32)], N32b4 },
								new object[] { VkHW_3b, zmm0, code[nameof(Code.EVEX_Vpunpckldq_zmm_k1z_zmm_zmmm512b32)], N64b4 },
							},
							invalid,
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { VectorLength,
							new object[] { VkHW_3, xmm0, code[nameof(Code.EVEX_Vpacksswb_xmm_k1z_xmm_xmmm128)], N16 },
							new object[] { VkHW_3, ymm0, code[nameof(Code.EVEX_Vpacksswb_ymm_k1z_ymm_ymmm256)], N32 },
							new object[] { VkHW_3, zmm0, code[nameof(Code.EVEX_Vpacksswb_zmm_k1z_zmm_zmmm512)], N64 },
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { VectorLength,
							new object[] { KkHW_3, xmm0, code[nameof(Code.EVEX_Vpcmpgtb_kr_k1_xmm_xmmm128)], N16 },
							new object[] { KkHW_3, ymm0, code[nameof(Code.EVEX_Vpcmpgtb_kr_k1_ymm_ymmm256)], N32 },
							new object[] { KkHW_3, zmm0, code[nameof(Code.EVEX_Vpcmpgtb_kr_k1_zmm_zmmm512)], N64 },
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { VectorLength,
							new object[] { KkHW_3, xmm0, code[nameof(Code.EVEX_Vpcmpgtw_kr_k1_xmm_xmmm128)], N16 },
							new object[] { KkHW_3, ymm0, code[nameof(Code.EVEX_Vpcmpgtw_kr_k1_ymm_ymmm256)], N32 },
							new object[] { KkHW_3, zmm0, code[nameof(Code.EVEX_Vpcmpgtw_kr_k1_zmm_zmmm512)], N64 },
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { KkHW_3b, xmm0, code[nameof(Code.EVEX_Vpcmpgtd_kr_k1_xmm_xmmm128b32)], N16b4 },
								new object[] { KkHW_3b, ymm0, code[nameof(Code.EVEX_Vpcmpgtd_kr_k1_ymm_ymmm256b32)], N32b4 },
								new object[] { KkHW_3b, zmm0, code[nameof(Code.EVEX_Vpcmpgtd_kr_k1_zmm_zmmm512b32)], N64b4 },
							},
							invalid,
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { VectorLength,
							new object[] { VkHW_3, xmm0, code[nameof(Code.EVEX_Vpackuswb_xmm_k1z_xmm_xmmm128)], N16 },
							new object[] { VkHW_3, ymm0, code[nameof(Code.EVEX_Vpackuswb_ymm_k1z_ymm_ymmm256)], N32 },
							new object[] { VkHW_3, zmm0, code[nameof(Code.EVEX_Vpackuswb_zmm_k1z_zmm_zmmm512)], N64 },
						},
						invalid,
						invalid,
					},

					// 68
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { VectorLength,
							new object[] { VkHW_3, xmm0, code[nameof(Code.EVEX_Vpunpckhbw_xmm_k1z_xmm_xmmm128)], N16 },
							new object[] { VkHW_3, ymm0, code[nameof(Code.EVEX_Vpunpckhbw_ymm_k1z_ymm_ymmm256)], N32 },
							new object[] { VkHW_3, zmm0, code[nameof(Code.EVEX_Vpunpckhbw_zmm_k1z_zmm_zmmm512)], N64 },
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { VectorLength,
							new object[] { VkHW_3, xmm0, code[nameof(Code.EVEX_Vpunpckhwd_xmm_k1z_xmm_xmmm128)], N16 },
							new object[] { VkHW_3, ymm0, code[nameof(Code.EVEX_Vpunpckhwd_ymm_k1z_ymm_ymmm256)], N32 },
							new object[] { VkHW_3, zmm0, code[nameof(Code.EVEX_Vpunpckhwd_zmm_k1z_zmm_zmmm512)], N64 },
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { VkHW_3b, xmm0, code[nameof(Code.EVEX_Vpunpckhdq_xmm_k1z_xmm_xmmm128b32)], N16b4 },
								new object[] { VkHW_3b, ymm0, code[nameof(Code.EVEX_Vpunpckhdq_ymm_k1z_ymm_ymmm256b32)], N32b4 },
								new object[] { VkHW_3b, zmm0, code[nameof(Code.EVEX_Vpunpckhdq_zmm_k1z_zmm_zmmm512b32)], N64b4 },
							},
							invalid,
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { VkHW_3b, xmm0, code[nameof(Code.EVEX_Vpackssdw_xmm_k1z_xmm_xmmm128b32)], N16b4 },
								new object[] { VkHW_3b, ymm0, code[nameof(Code.EVEX_Vpackssdw_ymm_k1z_ymm_ymmm256b32)], N32b4 },
								new object[] { VkHW_3b, zmm0, code[nameof(Code.EVEX_Vpackssdw_zmm_k1z_zmm_zmmm512b32)], N64b4 },
							},
							invalid,
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							invalid,
							new object[] { VectorLength,
								new object[] { VkHW_3b, xmm0, code[nameof(Code.EVEX_Vpunpcklqdq_xmm_k1z_xmm_xmmm128b64)], N16b8 },
								new object[] { VkHW_3b, ymm0, code[nameof(Code.EVEX_Vpunpcklqdq_ymm_k1z_ymm_ymmm256b64)], N32b8 },
								new object[] { VkHW_3b, zmm0, code[nameof(Code.EVEX_Vpunpcklqdq_zmm_k1z_zmm_zmmm512b64)], N64b8 },
							},
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							invalid,
							new object[] { VectorLength,
								new object[] { VkHW_3b, xmm0, code[nameof(Code.EVEX_Vpunpckhqdq_xmm_k1z_xmm_xmmm128b64)], N16b8 },
								new object[] { VkHW_3b, ymm0, code[nameof(Code.EVEX_Vpunpckhqdq_ymm_k1z_ymm_ymmm256b64)], N32b8 },
								new object[] { VkHW_3b, zmm0, code[nameof(Code.EVEX_Vpunpckhqdq_zmm_k1z_zmm_zmmm512b64)], N64b8 },
							},
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { VectorLength,
							new object[] { VX_Ev, code[nameof(Code.EVEX_Vmovd_xmm_rm32)], code[nameof(Code.EVEX_Vmovq_xmm_rm64)], N4, N8 },
							invalid,
							invalid,
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { VkW_3, xmm0, code[nameof(Code.EVEX_Vmovdqa32_xmm_k1z_xmmm128)], N16 },
								new object[] { VkW_3, ymm0, code[nameof(Code.EVEX_Vmovdqa32_ymm_k1z_ymmm256)], N32 },
								new object[] { VkW_3, zmm0, code[nameof(Code.EVEX_Vmovdqa32_zmm_k1z_zmmm512)], N64 },
							},
							new object[] { VectorLength,
								new object[] { VkW_3, xmm0, code[nameof(Code.EVEX_Vmovdqa64_xmm_k1z_xmmm128)], N16 },
								new object[] { VkW_3, ymm0, code[nameof(Code.EVEX_Vmovdqa64_ymm_k1z_ymmm256)], N32 },
								new object[] { VkW_3, zmm0, code[nameof(Code.EVEX_Vmovdqa64_zmm_k1z_zmmm512)], N64 },
							},
						},
						new object[] { W,
							new object[] { VectorLength,
								new object[] { VkW_3, xmm0, code[nameof(Code.EVEX_Vmovdqu32_xmm_k1z_xmmm128)], N16 },
								new object[] { VkW_3, ymm0, code[nameof(Code.EVEX_Vmovdqu32_ymm_k1z_ymmm256)], N32 },
								new object[] { VkW_3, zmm0, code[nameof(Code.EVEX_Vmovdqu32_zmm_k1z_zmmm512)], N64 },
							},
							new object[] { VectorLength,
								new object[] { VkW_3, xmm0, code[nameof(Code.EVEX_Vmovdqu64_xmm_k1z_xmmm128)], N16 },
								new object[] { VkW_3, ymm0, code[nameof(Code.EVEX_Vmovdqu64_ymm_k1z_ymmm256)], N32 },
								new object[] { VkW_3, zmm0, code[nameof(Code.EVEX_Vmovdqu64_zmm_k1z_zmmm512)], N64 },
							},
						},
						new object[] { W,
							new object[] { VectorLength,
								new object[] { VkW_3, xmm0, code[nameof(Code.EVEX_Vmovdqu8_xmm_k1z_xmmm128)], N16 },
								new object[] { VkW_3, ymm0, code[nameof(Code.EVEX_Vmovdqu8_ymm_k1z_ymmm256)], N32 },
								new object[] { VkW_3, zmm0, code[nameof(Code.EVEX_Vmovdqu8_zmm_k1z_zmmm512)], N64 },
							},
							new object[] { VectorLength,
								new object[] { VkW_3, xmm0, code[nameof(Code.EVEX_Vmovdqu16_xmm_k1z_xmmm128)], N16 },
								new object[] { VkW_3, ymm0, code[nameof(Code.EVEX_Vmovdqu16_ymm_k1z_ymmm256)], N32 },
								new object[] { VkW_3, zmm0, code[nameof(Code.EVEX_Vmovdqu16_zmm_k1z_zmmm512)], N64 },
							},
						},
					},

					// 70
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { VkWIb_3b, xmm0, code[nameof(Code.EVEX_Vpshufd_xmm_k1z_xmmm128b32_imm8)], N16b4 },
								new object[] { VkWIb_3b, ymm0, code[nameof(Code.EVEX_Vpshufd_ymm_k1z_ymmm256b32_imm8)], N32b4 },
								new object[] { VkWIb_3b, zmm0, code[nameof(Code.EVEX_Vpshufd_zmm_k1z_zmmm512b32_imm8)], N64b4 },
							},
							invalid,
						},
						new object[] { VectorLength,
							new object[] { VkWIb_3, xmm0, code[nameof(Code.EVEX_Vpshufhw_xmm_k1z_xmmm128_imm8)], N16 },
							new object[] { VkWIb_3, ymm0, code[nameof(Code.EVEX_Vpshufhw_ymm_k1z_ymmm256_imm8)], N32 },
							new object[] { VkWIb_3, zmm0, code[nameof(Code.EVEX_Vpshufhw_zmm_k1z_zmmm512_imm8)], N64 },
						},
						new object[] { VectorLength,
							new object[] { VkWIb_3, xmm0, code[nameof(Code.EVEX_Vpshuflw_xmm_k1z_xmmm128_imm8)], N16 },
							new object[] { VkWIb_3, ymm0, code[nameof(Code.EVEX_Vpshuflw_ymm_k1z_ymmm256_imm8)], N32 },
							new object[] { VkWIb_3, zmm0, code[nameof(Code.EVEX_Vpshuflw_zmm_k1z_zmmm512_imm8)], N64 },
						},
					},
					new object[] { Group, "handlers_Grp_0F71" },
					new object[] { Group, "handlers_Grp_0F72" },
					new object[] { Group, "handlers_Grp_0F73" },
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { VectorLength,
							new object[] { KkHW_3, xmm0, code[nameof(Code.EVEX_Vpcmpeqb_kr_k1_xmm_xmmm128)], N16 },
							new object[] { KkHW_3, ymm0, code[nameof(Code.EVEX_Vpcmpeqb_kr_k1_ymm_ymmm256)], N32 },
							new object[] { KkHW_3, zmm0, code[nameof(Code.EVEX_Vpcmpeqb_kr_k1_zmm_zmmm512)], N64 },
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { VectorLength,
							new object[] { KkHW_3, xmm0, code[nameof(Code.EVEX_Vpcmpeqw_kr_k1_xmm_xmmm128)], N16 },
							new object[] { KkHW_3, ymm0, code[nameof(Code.EVEX_Vpcmpeqw_kr_k1_ymm_ymmm256)], N32 },
							new object[] { KkHW_3, zmm0, code[nameof(Code.EVEX_Vpcmpeqw_kr_k1_zmm_zmmm512)], N64 },
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { KkHW_3b, xmm0, code[nameof(Code.EVEX_Vpcmpeqd_kr_k1_xmm_xmmm128b32)], N16b4 },
								new object[] { KkHW_3b, ymm0, code[nameof(Code.EVEX_Vpcmpeqd_kr_k1_ymm_ymmm256b32)], N32b4 },
								new object[] { KkHW_3b, zmm0, code[nameof(Code.EVEX_Vpcmpeqd_kr_k1_zmm_zmmm512b32)], N64b4 },
							},
							invalid,
						},
						invalid,
						invalid,
					},
					invalid,

					// 78
					new object[] { MandatoryPrefix2,
						new object[] { W,
							new object[] { VectorLength_er,
								new object[] { VkW_er_5, xmm0, xmm0, code[nameof(Code.EVEX_Vcvttps2udq_xmm_k1z_xmmm128b32)], N16b4, true },
								new object[] { VkW_er_5, ymm0, ymm0, code[nameof(Code.EVEX_Vcvttps2udq_ymm_k1z_ymmm256b32)], N32b4, true },
								new object[] { VkW_er_5, zmm0, zmm0, code[nameof(Code.EVEX_Vcvttps2udq_zmm_k1z_zmmm512b32_sae)], N64b4, true },
							},
							new object[] { VectorLength_er,
								new object[] { VkW_er_5, xmm0, xmm0, code[nameof(Code.EVEX_Vcvttpd2udq_xmm_k1z_xmmm128b64)], N16b8, true },
								new object[] { VkW_er_5, xmm0, ymm0, code[nameof(Code.EVEX_Vcvttpd2udq_xmm_k1z_ymmm256b64)], N32b8, true },
								new object[] { VkW_er_5, ymm0, zmm0, code[nameof(Code.EVEX_Vcvttpd2udq_ymm_k1z_zmmm512b64_sae)], N64b8, true },
							},
						},
						new object[] { W,
							new object[] { VectorLength_er,
								new object[] { VkW_er_5, xmm0, xmm0, code[nameof(Code.EVEX_Vcvttps2uqq_xmm_k1z_xmmm64b32)], N8b4, true },
								new object[] { VkW_er_5, ymm0, xmm0, code[nameof(Code.EVEX_Vcvttps2uqq_ymm_k1z_xmmm128b32)], N16b4, true },
								new object[] { VkW_er_5, zmm0, ymm0, code[nameof(Code.EVEX_Vcvttps2uqq_zmm_k1z_ymmm256b32_sae)], N32b4, true },
							},
							new object[] { VectorLength_er,
								new object[] { VkW_er_5, xmm0, xmm0, code[nameof(Code.EVEX_Vcvttpd2uqq_xmm_k1z_xmmm128b64)], N16b8, true },
								new object[] { VkW_er_5, ymm0, ymm0, code[nameof(Code.EVEX_Vcvttpd2uqq_ymm_k1z_ymmm256b64)], N32b8, true },
								new object[] { VkW_er_5, zmm0, zmm0, code[nameof(Code.EVEX_Vcvttpd2uqq_zmm_k1z_zmmm512b64_sae)], N64b8, true },
							},
						},
						new object[] { Gv_W_er, xmm0, code[nameof(Code.EVEX_Vcvttss2usi_r32_xmmm32_sae)], code[nameof(Code.EVEX_Vcvttss2usi_r64_xmmm32_sae)], N4, true },
						new object[] { Gv_W_er, xmm0, code[nameof(Code.EVEX_Vcvttsd2usi_r32_xmmm64_sae)], code[nameof(Code.EVEX_Vcvttsd2usi_r64_xmmm64_sae)], N8, true },
					},
					new object[] { MandatoryPrefix2,
						new object[] { W,
							new object[] { VectorLength_er,
								new object[] { VkW_er_5, xmm0, xmm0, code[nameof(Code.EVEX_Vcvtps2udq_xmm_k1z_xmmm128b32)], N16b4, false },
								new object[] { VkW_er_5, ymm0, ymm0, code[nameof(Code.EVEX_Vcvtps2udq_ymm_k1z_ymmm256b32)], N32b4, false },
								new object[] { VkW_er_5, zmm0, zmm0, code[nameof(Code.EVEX_Vcvtps2udq_zmm_k1z_zmmm512b32_er)], N64b4, false },
							},
							new object[] { VectorLength_er,
								new object[] { VkW_er_5, xmm0, xmm0, code[nameof(Code.EVEX_Vcvtpd2udq_xmm_k1z_xmmm128b64)], N16b8, false },
								new object[] { VkW_er_5, xmm0, ymm0, code[nameof(Code.EVEX_Vcvtpd2udq_xmm_k1z_ymmm256b64)], N32b8, false },
								new object[] { VkW_er_5, ymm0, zmm0, code[nameof(Code.EVEX_Vcvtpd2udq_ymm_k1z_zmmm512b64_er)], N64b8, false },
							},
						},
						new object[] { W,
							new object[] { VectorLength_er,
								new object[] { VkW_er_5, xmm0, xmm0, code[nameof(Code.EVEX_Vcvtps2uqq_xmm_k1z_xmmm64b32)], N8b4, false },
								new object[] { VkW_er_5, ymm0, xmm0, code[nameof(Code.EVEX_Vcvtps2uqq_ymm_k1z_xmmm128b32)], N16b4, false },
								new object[] { VkW_er_5, zmm0, ymm0, code[nameof(Code.EVEX_Vcvtps2uqq_zmm_k1z_ymmm256b32_er)], N32b4, false },
							},
							new object[] { VectorLength_er,
								new object[] { VkW_er_5, xmm0, xmm0, code[nameof(Code.EVEX_Vcvtpd2uqq_xmm_k1z_xmmm128b64)], N16b8, false },
								new object[] { VkW_er_5, ymm0, ymm0, code[nameof(Code.EVEX_Vcvtpd2uqq_ymm_k1z_ymmm256b64)], N32b8, false },
								new object[] { VkW_er_5, zmm0, zmm0, code[nameof(Code.EVEX_Vcvtpd2uqq_zmm_k1z_zmmm512b64_er)], N64b8, false },
							},
						},
						new object[] { Gv_W_er, xmm0, code[nameof(Code.EVEX_Vcvtss2usi_r32_xmmm32_er)], code[nameof(Code.EVEX_Vcvtss2usi_r64_xmmm32_er)], N4, false },
						new object[] { Gv_W_er, xmm0, code[nameof(Code.EVEX_Vcvtsd2usi_r32_xmmm64_er)], code[nameof(Code.EVEX_Vcvtsd2usi_r64_xmmm64_er)], N8, false },
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength_er,
								new object[] { VkW_er_5, xmm0, xmm0, code[nameof(Code.EVEX_Vcvttps2qq_xmm_k1z_xmmm64b32)], N8b4, true },
								new object[] { VkW_er_5, ymm0, xmm0, code[nameof(Code.EVEX_Vcvttps2qq_ymm_k1z_xmmm128b32)], N16b4, true },
								new object[] { VkW_er_5, zmm0, ymm0, code[nameof(Code.EVEX_Vcvttps2qq_zmm_k1z_ymmm256b32_sae)], N32b4, true },
							},
							new object[] { VectorLength_er,
								new object[] { VkW_er_5, xmm0, xmm0, code[nameof(Code.EVEX_Vcvttpd2qq_xmm_k1z_xmmm128b64)], N16b8, true },
								new object[] { VkW_er_5, ymm0, ymm0, code[nameof(Code.EVEX_Vcvttpd2qq_ymm_k1z_ymmm256b64)], N32b8, true },
								new object[] { VkW_er_5, zmm0, zmm0, code[nameof(Code.EVEX_Vcvttpd2qq_zmm_k1z_zmmm512b64_sae)], N64b8, true },
							},
						},
						new object[] { W,
							new object[] { VectorLength_er,
								new object[] { VkW_er_5, xmm0, xmm0, code[nameof(Code.EVEX_Vcvtudq2pd_xmm_k1z_xmmm64b32)], N8b4, false },
								new object[] { VkW_er_5, ymm0, xmm0, code[nameof(Code.EVEX_Vcvtudq2pd_ymm_k1z_xmmm128b32)], N16b4, false },
								new object[] { VkW_er_5, zmm0, ymm0, code[nameof(Code.EVEX_Vcvtudq2pd_zmm_k1z_ymmm256b32_er)], N32b4, false },
							},
							new object[] { VectorLength_er,
								new object[] { VkW_er_5, xmm0, xmm0, code[nameof(Code.EVEX_Vcvtuqq2pd_xmm_k1z_xmmm128b64)], N16b8, false },
								new object[] { VkW_er_5, ymm0, ymm0, code[nameof(Code.EVEX_Vcvtuqq2pd_ymm_k1z_ymmm256b64)], N32b8, false },
								new object[] { VkW_er_5, zmm0, zmm0, code[nameof(Code.EVEX_Vcvtuqq2pd_zmm_k1z_zmmm512b64_er)], N64b8, false },
							},
						},
						new object[] { W,
							new object[] { VectorLength_er,
								new object[] { VkW_er_5, xmm0, xmm0, code[nameof(Code.EVEX_Vcvtudq2ps_xmm_k1z_xmmm128b32)], N16b4, false },
								new object[] { VkW_er_5, ymm0, ymm0, code[nameof(Code.EVEX_Vcvtudq2ps_ymm_k1z_ymmm256b32)], N32b4, false },
								new object[] { VkW_er_5, zmm0, zmm0, code[nameof(Code.EVEX_Vcvtudq2ps_zmm_k1z_zmmm512b32_er)], N64b4, false },
							},
							new object[] { VectorLength_er,
								new object[] { VkW_er_5, xmm0, xmm0, code[nameof(Code.EVEX_Vcvtuqq2ps_xmm_k1z_xmmm128b64)], N16b8, false },
								new object[] { VkW_er_5, xmm0, ymm0, code[nameof(Code.EVEX_Vcvtuqq2ps_xmm_k1z_ymmm256b64)], N32b8, false },
								new object[] { VkW_er_5, ymm0, zmm0, code[nameof(Code.EVEX_Vcvtuqq2ps_ymm_k1z_zmmm512b64_er)], N64b8, false },
							},
						},
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength_er,
								new object[] { VkW_er_5, xmm0, xmm0, code[nameof(Code.EVEX_Vcvtps2qq_xmm_k1z_xmmm64b32)], N8b4, false },
								new object[] { VkW_er_5, ymm0, xmm0, code[nameof(Code.EVEX_Vcvtps2qq_ymm_k1z_xmmm128b32)], N16b4, false },
								new object[] { VkW_er_5, zmm0, ymm0, code[nameof(Code.EVEX_Vcvtps2qq_zmm_k1z_ymmm256b32_er)], N32b4, false },
							},
							new object[] { VectorLength_er,
								new object[] { VkW_er_5, xmm0, xmm0, code[nameof(Code.EVEX_Vcvtpd2qq_xmm_k1z_xmmm128b64)], N16b8, false },
								new object[] { VkW_er_5, ymm0, ymm0, code[nameof(Code.EVEX_Vcvtpd2qq_ymm_k1z_ymmm256b64)], N32b8, false },
								new object[] { VkW_er_5, zmm0, zmm0, code[nameof(Code.EVEX_Vcvtpd2qq_zmm_k1z_zmmm512b64_er)], N64b8, false },
							},
						},
						new object[] { V_H_Ev_er, xmm0, code[nameof(Code.EVEX_Vcvtusi2ss_xmm_xmm_rm32_er)], code[nameof(Code.EVEX_Vcvtusi2ss_xmm_xmm_rm64_er)], N4, N8 },
						new object[] { V_H_Ev_er, xmm0, code[nameof(Code.EVEX_Vcvtusi2sd_xmm_xmm_rm32_er)], code[nameof(Code.EVEX_Vcvtusi2sd_xmm_xmm_rm64_er)], N4, N8 },
					},
					invalid,
					invalid,
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { VectorLength,
							new object[] { Ev_VX, code[nameof(Code.EVEX_Vmovd_rm32_xmm)], code[nameof(Code.EVEX_Vmovq_rm64_xmm)], N4, N8 },
							invalid,
							invalid,
						},
						new object[] { W,
							invalid,
							new object[] { VectorLength,
								new object[] { VW, xmm0, code[nameof(Code.EVEX_Vmovq_xmm_xmmm64)], N8 },
								invalid,
								invalid,
							},
						},
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { WkV_3, xmm0, code[nameof(Code.EVEX_Vmovdqa32_xmmm128_k1z_xmm)], N16 },
								new object[] { WkV_3, ymm0, code[nameof(Code.EVEX_Vmovdqa32_ymmm256_k1z_ymm)], N32 },
								new object[] { WkV_3, zmm0, code[nameof(Code.EVEX_Vmovdqa32_zmmm512_k1z_zmm)], N64 },
							},
							new object[] { VectorLength,
								new object[] { WkV_3, xmm0, code[nameof(Code.EVEX_Vmovdqa64_xmmm128_k1z_xmm)], N16 },
								new object[] { WkV_3, ymm0, code[nameof(Code.EVEX_Vmovdqa64_ymmm256_k1z_ymm)], N32 },
								new object[] { WkV_3, zmm0, code[nameof(Code.EVEX_Vmovdqa64_zmmm512_k1z_zmm)], N64 },
							},
						},
						new object[] { W,
							new object[] { VectorLength,
								new object[] { WkV_3, xmm0, code[nameof(Code.EVEX_Vmovdqu32_xmmm128_k1z_xmm)], N16 },
								new object[] { WkV_3, ymm0, code[nameof(Code.EVEX_Vmovdqu32_ymmm256_k1z_ymm)], N32 },
								new object[] { WkV_3, zmm0, code[nameof(Code.EVEX_Vmovdqu32_zmmm512_k1z_zmm)], N64 },
							},
							new object[] { VectorLength,
								new object[] { WkV_3, xmm0, code[nameof(Code.EVEX_Vmovdqu64_xmmm128_k1z_xmm)], N16 },
								new object[] { WkV_3, ymm0, code[nameof(Code.EVEX_Vmovdqu64_ymmm256_k1z_ymm)], N32 },
								new object[] { WkV_3, zmm0, code[nameof(Code.EVEX_Vmovdqu64_zmmm512_k1z_zmm)], N64 },
							},
						},
						new object[] { W,
							new object[] { VectorLength,
								new object[] { WkV_3, xmm0, code[nameof(Code.EVEX_Vmovdqu8_xmmm128_k1z_xmm)], N16 },
								new object[] { WkV_3, ymm0, code[nameof(Code.EVEX_Vmovdqu8_ymmm256_k1z_ymm)], N32 },
								new object[] { WkV_3, zmm0, code[nameof(Code.EVEX_Vmovdqu8_zmmm512_k1z_zmm)], N64 },
							},
							new object[] { VectorLength,
								new object[] { WkV_3, xmm0, code[nameof(Code.EVEX_Vmovdqu16_xmmm128_k1z_xmm)], N16 },
								new object[] { WkV_3, ymm0, code[nameof(Code.EVEX_Vmovdqu16_ymmm256_k1z_ymm)], N32 },
								new object[] { WkV_3, zmm0, code[nameof(Code.EVEX_Vmovdqu16_zmmm512_k1z_zmm)], N64 },
							},
						},
					},

					// 80
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,

					// 88
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,

					// 90
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,

					// 98
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,

					// A0
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,

					// A8
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,

					// B0
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,

					// B8
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,

					// C0
					invalid,
					invalid,
					new object[] { MandatoryPrefix2,
						new object[] { W,
							new object[] { VectorLength_er,
								new object[] { KkHWIb_sae_3b, xmm0, code[nameof(Code.EVEX_Vcmpps_kr_k1_xmm_xmmm128b32_imm8)], N16b4 },
								new object[] { KkHWIb_sae_3b, ymm0, code[nameof(Code.EVEX_Vcmpps_kr_k1_ymm_ymmm256b32_imm8)], N32b4 },
								new object[] { KkHWIb_sae_3b, zmm0, code[nameof(Code.EVEX_Vcmpps_kr_k1_zmm_zmmm512b32_imm8_sae)], N64b4 },
							},
							invalid,
						},
						new object[] { W,
							invalid,
							new object[] { VectorLength_er,
								new object[] { KkHWIb_sae_3b, xmm0, code[nameof(Code.EVEX_Vcmppd_kr_k1_xmm_xmmm128b64_imm8)], N16b8 },
								new object[] { KkHWIb_sae_3b, ymm0, code[nameof(Code.EVEX_Vcmppd_kr_k1_ymm_ymmm256b64_imm8)], N32b8 },
								new object[] { KkHWIb_sae_3b, zmm0, code[nameof(Code.EVEX_Vcmppd_kr_k1_zmm_zmmm512b64_imm8_sae)], N64b8 },
							},
						},
						new object[] { W,
							new object[] { KkHWIb_sae_3, xmm0, code[nameof(Code.EVEX_Vcmpss_kr_k1_xmm_xmmm32_imm8_sae)], N4 },
							invalid,
						},
						new object[] { W,
							invalid,
							new object[] { KkHWIb_sae_3, xmm0, code[nameof(Code.EVEX_Vcmpsd_kr_k1_xmm_xmmm64_imm8_sae)], N8 },
						},
					},
					invalid,
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { V_H_Ev_Ib, xmm0, code[nameof(Code.EVEX_Vpinsrw_xmm_xmm_r32m16_imm8)], code[nameof(Code.EVEX_Vpinsrw_xmm_xmm_r64m16_imm8)], N2, N2 },
								invalid,
								invalid,
							},
							new object[] { VectorLength,
								new object[] { V_H_Ev_Ib, xmm0, code[nameof(Code.EVEX_Vpinsrw_xmm_xmm_r32m16_imm8)], code[nameof(Code.EVEX_Vpinsrw_xmm_xmm_r64m16_imm8)], N2, N2 },
								invalid,
								invalid,
							},
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { RM,
									new object[] { Ev_VX_Ib, xmm0, code[nameof(Code.EVEX_Vpextrw_r32_xmm_imm8)], code[nameof(Code.EVEX_Vpextrw_r64_xmm_imm8)] },
									invalid,
								},
								invalid,
								invalid,
							},
							new object[] { VectorLength,
								new object[] { RM,
									new object[] { Ev_VX_Ib, xmm0, code[nameof(Code.EVEX_Vpextrw_r32_xmm_imm8)], code[nameof(Code.EVEX_Vpextrw_r64_xmm_imm8)] },
									invalid,
								},
								invalid,
								invalid,
							},
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { VkHWIb_3b, xmm0, code[nameof(Code.EVEX_Vshufps_xmm_k1z_xmm_xmmm128b32_imm8)], N16b4 },
								new object[] { VkHWIb_3b, ymm0, code[nameof(Code.EVEX_Vshufps_ymm_k1z_ymm_ymmm256b32_imm8)], N32b4 },
								new object[] { VkHWIb_3b, zmm0, code[nameof(Code.EVEX_Vshufps_zmm_k1z_zmm_zmmm512b32_imm8)], N64b4 },
							},
							invalid,
						},
						new object[] { W,
							invalid,
							new object[] { VectorLength,
								new object[] { VkHWIb_3b, xmm0, code[nameof(Code.EVEX_Vshufpd_xmm_k1z_xmm_xmmm128b64_imm8)], N16b8 },
								new object[] { VkHWIb_3b, ymm0, code[nameof(Code.EVEX_Vshufpd_ymm_k1z_ymm_ymmm256b64_imm8)], N32b8 },
								new object[] { VkHWIb_3b, zmm0, code[nameof(Code.EVEX_Vshufpd_zmm_k1z_zmm_zmmm512b64_imm8)], N64b8 },
							},
						},
						invalid,
						invalid,
					},
					invalid,

					// C8
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,
					invalid,

					// D0
					invalid,
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { VectorLength,
							new object[] { VkHW_5, xmm0, xmm0, xmm0, code[nameof(Code.EVEX_Vpsrlw_xmm_k1z_xmm_xmmm128)], N16 },
							new object[] { VkHW_5, ymm0, ymm0, xmm0, code[nameof(Code.EVEX_Vpsrlw_ymm_k1z_ymm_xmmm128)], N16 },
							new object[] { VkHW_5, zmm0, zmm0, xmm0, code[nameof(Code.EVEX_Vpsrlw_zmm_k1z_zmm_xmmm128)], N16 },
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { VkHW_5, xmm0, xmm0, xmm0, code[nameof(Code.EVEX_Vpsrld_xmm_k1z_xmm_xmmm128)], N16 },
								new object[] { VkHW_5, ymm0, ymm0, xmm0, code[nameof(Code.EVEX_Vpsrld_ymm_k1z_ymm_xmmm128)], N16 },
								new object[] { VkHW_5, zmm0, zmm0, xmm0, code[nameof(Code.EVEX_Vpsrld_zmm_k1z_zmm_xmmm128)], N16 },
							},
							invalid,
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							invalid,
							new object[] { VectorLength,
								new object[] { VkHW_5, xmm0, xmm0, xmm0, code[nameof(Code.EVEX_Vpsrlq_xmm_k1z_xmm_xmmm128)], N16 },
								new object[] { VkHW_5, ymm0, ymm0, xmm0, code[nameof(Code.EVEX_Vpsrlq_ymm_k1z_ymm_xmmm128)], N16 },
								new object[] { VkHW_5, zmm0, zmm0, xmm0, code[nameof(Code.EVEX_Vpsrlq_zmm_k1z_zmm_xmmm128)], N16 },
							},
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							invalid,
							new object[] { VectorLength,
								new object[] { VkHW_3b, xmm0, code[nameof(Code.EVEX_Vpaddq_xmm_k1z_xmm_xmmm128b64)], N16b8 },
								new object[] { VkHW_3b, ymm0, code[nameof(Code.EVEX_Vpaddq_ymm_k1z_ymm_ymmm256b64)], N32b8 },
								new object[] { VkHW_3b, zmm0, code[nameof(Code.EVEX_Vpaddq_zmm_k1z_zmm_zmmm512b64)], N64b8 },
							},
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { VectorLength,
							new object[] { VkHW_3, xmm0, code[nameof(Code.EVEX_Vpmullw_xmm_k1z_xmm_xmmm128)], N16 },
							new object[] { VkHW_3, ymm0, code[nameof(Code.EVEX_Vpmullw_ymm_k1z_ymm_ymmm256)], N32 },
							new object[] { VkHW_3, zmm0, code[nameof(Code.EVEX_Vpmullw_zmm_k1z_zmm_zmmm512)], N64 },
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							invalid,
							new object[] { VectorLength,
								new object[] { WV, xmm0, code[nameof(Code.EVEX_Vmovq_xmmm64_xmm)], N8 },
								invalid,
								invalid,
							},
						},
						invalid,
						invalid,
					},
					invalid,

					// D8
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { VectorLength,
							new object[] { VkHW_3, xmm0, code[nameof(Code.EVEX_Vpsubusb_xmm_k1z_xmm_xmmm128)], N16 },
							new object[] { VkHW_3, ymm0, code[nameof(Code.EVEX_Vpsubusb_ymm_k1z_ymm_ymmm256)], N32 },
							new object[] { VkHW_3, zmm0, code[nameof(Code.EVEX_Vpsubusb_zmm_k1z_zmm_zmmm512)], N64 },
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { VectorLength,
							new object[] { VkHW_3, xmm0, code[nameof(Code.EVEX_Vpsubusw_xmm_k1z_xmm_xmmm128)], N16 },
							new object[] { VkHW_3, ymm0, code[nameof(Code.EVEX_Vpsubusw_ymm_k1z_ymm_ymmm256)], N32 },
							new object[] { VkHW_3, zmm0, code[nameof(Code.EVEX_Vpsubusw_zmm_k1z_zmm_zmmm512)], N64 },
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { VectorLength,
							new object[] { VkHW_3, xmm0, code[nameof(Code.EVEX_Vpminub_xmm_k1z_xmm_xmmm128)], N16 },
							new object[] { VkHW_3, ymm0, code[nameof(Code.EVEX_Vpminub_ymm_k1z_ymm_ymmm256)], N32 },
							new object[] { VkHW_3, zmm0, code[nameof(Code.EVEX_Vpminub_zmm_k1z_zmm_zmmm512)], N64 },
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { VkHW_3b, xmm0, code[nameof(Code.EVEX_Vpandd_xmm_k1z_xmm_xmmm128b32)], N16b4 },
								new object[] { VkHW_3b, ymm0, code[nameof(Code.EVEX_Vpandd_ymm_k1z_ymm_ymmm256b32)], N32b4 },
								new object[] { VkHW_3b, zmm0, code[nameof(Code.EVEX_Vpandd_zmm_k1z_zmm_zmmm512b32)], N64b4 },
							},
							new object[] { VectorLength,
								new object[] { VkHW_3b, xmm0, code[nameof(Code.EVEX_Vpandq_xmm_k1z_xmm_xmmm128b64)], N16b8 },
								new object[] { VkHW_3b, ymm0, code[nameof(Code.EVEX_Vpandq_ymm_k1z_ymm_ymmm256b64)], N32b8 },
								new object[] { VkHW_3b, zmm0, code[nameof(Code.EVEX_Vpandq_zmm_k1z_zmm_zmmm512b64)], N64b8 },
							},
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { VectorLength,
							new object[] { VkHW_3, xmm0, code[nameof(Code.EVEX_Vpaddusb_xmm_k1z_xmm_xmmm128)], N16 },
							new object[] { VkHW_3, ymm0, code[nameof(Code.EVEX_Vpaddusb_ymm_k1z_ymm_ymmm256)], N32 },
							new object[] { VkHW_3, zmm0, code[nameof(Code.EVEX_Vpaddusb_zmm_k1z_zmm_zmmm512)], N64 },
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { VectorLength,
							new object[] { VkHW_3, xmm0, code[nameof(Code.EVEX_Vpaddusw_xmm_k1z_xmm_xmmm128)], N16 },
							new object[] { VkHW_3, ymm0, code[nameof(Code.EVEX_Vpaddusw_ymm_k1z_ymm_ymmm256)], N32 },
							new object[] { VkHW_3, zmm0, code[nameof(Code.EVEX_Vpaddusw_zmm_k1z_zmm_zmmm512)], N64 },
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { VectorLength,
							new object[] { VkHW_3, xmm0, code[nameof(Code.EVEX_Vpmaxub_xmm_k1z_xmm_xmmm128)], N16 },
							new object[] { VkHW_3, ymm0, code[nameof(Code.EVEX_Vpmaxub_ymm_k1z_ymm_ymmm256)], N32 },
							new object[] { VkHW_3, zmm0, code[nameof(Code.EVEX_Vpmaxub_zmm_k1z_zmm_zmmm512)], N64 },
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { VkHW_3b, xmm0, code[nameof(Code.EVEX_Vpandnd_xmm_k1z_xmm_xmmm128b32)], N16b4 },
								new object[] { VkHW_3b, ymm0, code[nameof(Code.EVEX_Vpandnd_ymm_k1z_ymm_ymmm256b32)], N32b4 },
								new object[] { VkHW_3b, zmm0, code[nameof(Code.EVEX_Vpandnd_zmm_k1z_zmm_zmmm512b32)], N64b4 },
							},
							new object[] { VectorLength,
								new object[] { VkHW_3b, xmm0, code[nameof(Code.EVEX_Vpandnq_xmm_k1z_xmm_xmmm128b64)], N16b8 },
								new object[] { VkHW_3b, ymm0, code[nameof(Code.EVEX_Vpandnq_ymm_k1z_ymm_ymmm256b64)], N32b8 },
								new object[] { VkHW_3b, zmm0, code[nameof(Code.EVEX_Vpandnq_zmm_k1z_zmm_zmmm512b64)], N64b8 },
							},
						},
						invalid,
						invalid,
					},

					// E0
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { VectorLength,
							new object[] { VkHW_3, xmm0, code[nameof(Code.EVEX_Vpavgb_xmm_k1z_xmm_xmmm128)], N16 },
							new object[] { VkHW_3, ymm0, code[nameof(Code.EVEX_Vpavgb_ymm_k1z_ymm_ymmm256)], N32 },
							new object[] { VkHW_3, zmm0, code[nameof(Code.EVEX_Vpavgb_zmm_k1z_zmm_zmmm512)], N64 },
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { VectorLength,
							new object[] { VkHW_5, xmm0, xmm0, xmm0, code[nameof(Code.EVEX_Vpsraw_xmm_k1z_xmm_xmmm128)], N16 },
							new object[] { VkHW_5, ymm0, ymm0, xmm0, code[nameof(Code.EVEX_Vpsraw_ymm_k1z_ymm_xmmm128)], N16 },
							new object[] { VkHW_5, zmm0, zmm0, xmm0, code[nameof(Code.EVEX_Vpsraw_zmm_k1z_zmm_xmmm128)], N16 },
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { VkHW_5, xmm0, xmm0, xmm0, code[nameof(Code.EVEX_Vpsrad_xmm_k1z_xmm_xmmm128)], N16 },
								new object[] { VkHW_5, ymm0, ymm0, xmm0, code[nameof(Code.EVEX_Vpsrad_ymm_k1z_ymm_xmmm128)], N16 },
								new object[] { VkHW_5, zmm0, zmm0, xmm0, code[nameof(Code.EVEX_Vpsrad_zmm_k1z_zmm_xmmm128)], N16 },
							},
							new object[] { VectorLength,
								new object[] { VkHW_5, xmm0, xmm0, xmm0, code[nameof(Code.EVEX_Vpsraq_xmm_k1z_xmm_xmmm128)], N16 },
								new object[] { VkHW_5, ymm0, ymm0, xmm0, code[nameof(Code.EVEX_Vpsraq_ymm_k1z_ymm_xmmm128)], N16 },
								new object[] { VkHW_5, zmm0, zmm0, xmm0, code[nameof(Code.EVEX_Vpsraq_zmm_k1z_zmm_xmmm128)], N16 },
							},
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { VectorLength,
							new object[] { VkHW_3, xmm0, code[nameof(Code.EVEX_Vpavgw_xmm_k1z_xmm_xmmm128)], N16 },
							new object[] { VkHW_3, ymm0, code[nameof(Code.EVEX_Vpavgw_ymm_k1z_ymm_ymmm256)], N32 },
							new object[] { VkHW_3, zmm0, code[nameof(Code.EVEX_Vpavgw_zmm_k1z_zmm_zmmm512)], N64 },
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { VectorLength,
							new object[] { VkHW_3, xmm0, code[nameof(Code.EVEX_Vpmulhuw_xmm_k1z_xmm_xmmm128)], N16 },
							new object[] { VkHW_3, ymm0, code[nameof(Code.EVEX_Vpmulhuw_ymm_k1z_ymm_ymmm256)], N32 },
							new object[] { VkHW_3, zmm0, code[nameof(Code.EVEX_Vpmulhuw_zmm_k1z_zmm_zmmm512)], N64 },
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { VectorLength,
							new object[] { VkHW_3, xmm0, code[nameof(Code.EVEX_Vpmulhw_xmm_k1z_xmm_xmmm128)], N16 },
							new object[] { VkHW_3, ymm0, code[nameof(Code.EVEX_Vpmulhw_ymm_k1z_ymm_ymmm256)], N32 },
							new object[] { VkHW_3, zmm0, code[nameof(Code.EVEX_Vpmulhw_zmm_k1z_zmm_zmmm512)], N64 },
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							invalid,
							new object[] { VectorLength_er,
								new object[] { VkW_er_5, xmm0, xmm0, code[nameof(Code.EVEX_Vcvttpd2dq_xmm_k1z_xmmm128b64)], N16b8, true },
								new object[] { VkW_er_5, xmm0, ymm0, code[nameof(Code.EVEX_Vcvttpd2dq_xmm_k1z_ymmm256b64)], N32b8, true },
								new object[] { VkW_er_5, ymm0, zmm0, code[nameof(Code.EVEX_Vcvttpd2dq_ymm_k1z_zmmm512b64_sae)], N64b8, true },
							},
						},
						new object[] { W,
							new object[] { VectorLength_er,
								new object[] { VkW_er_5, xmm0, xmm0, code[nameof(Code.EVEX_Vcvtdq2pd_xmm_k1z_xmmm64b32)], N8b4, false },
								new object[] { VkW_er_5, ymm0, xmm0, code[nameof(Code.EVEX_Vcvtdq2pd_ymm_k1z_xmmm128b32)], N16b4, false },
								new object[] { VkW_er_5, zmm0, ymm0, code[nameof(Code.EVEX_Vcvtdq2pd_zmm_k1z_ymmm256b32_er)], N32b4, false },
							},
							new object[] { VectorLength_er,
								new object[] { VkW_er_5, xmm0, xmm0, code[nameof(Code.EVEX_Vcvtqq2pd_xmm_k1z_xmmm128b64)], N16b8, false },
								new object[] { VkW_er_5, ymm0, ymm0, code[nameof(Code.EVEX_Vcvtqq2pd_ymm_k1z_ymmm256b64)], N32b8, false },
								new object[] { VkW_er_5, zmm0, zmm0, code[nameof(Code.EVEX_Vcvtqq2pd_zmm_k1z_zmmm512b64_er)], N64b8, false },
							},
						},
						new object[] { W,
							invalid,
							new object[] { VectorLength_er,
								new object[] { VkW_er_5, xmm0, xmm0, code[nameof(Code.EVEX_Vcvtpd2dq_xmm_k1z_xmmm128b64)], N16b8, false },
								new object[] { VkW_er_5, xmm0, ymm0, code[nameof(Code.EVEX_Vcvtpd2dq_xmm_k1z_ymmm256b64)], N32b8, false },
								new object[] { VkW_er_5, ymm0, zmm0, code[nameof(Code.EVEX_Vcvtpd2dq_ymm_k1z_zmmm512b64_er)], N64b8, false },
							},
						},
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { MV, xmm0, code[nameof(Code.EVEX_Vmovntdq_m128_xmm)], N16 },
								new object[] { MV, ymm0, code[nameof(Code.EVEX_Vmovntdq_m256_ymm)], N32 },
								new object[] { MV, zmm0, code[nameof(Code.EVEX_Vmovntdq_m512_zmm)], N64 },
							},
							invalid,
						},
						invalid,
						invalid,
					},

					// E8
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { VectorLength,
							new object[] { VkHW_3, xmm0, code[nameof(Code.EVEX_Vpsubsb_xmm_k1z_xmm_xmmm128)], N16 },
							new object[] { VkHW_3, ymm0, code[nameof(Code.EVEX_Vpsubsb_ymm_k1z_ymm_ymmm256)], N32 },
							new object[] { VkHW_3, zmm0, code[nameof(Code.EVEX_Vpsubsb_zmm_k1z_zmm_zmmm512)], N64 },
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { VectorLength,
							new object[] { VkHW_3, xmm0, code[nameof(Code.EVEX_Vpsubsw_xmm_k1z_xmm_xmmm128)], N16 },
							new object[] { VkHW_3, ymm0, code[nameof(Code.EVEX_Vpsubsw_ymm_k1z_ymm_ymmm256)], N32 },
							new object[] { VkHW_3, zmm0, code[nameof(Code.EVEX_Vpsubsw_zmm_k1z_zmm_zmmm512)], N64 },
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { VectorLength,
							new object[] { VkHW_3, xmm0, code[nameof(Code.EVEX_Vpminsw_xmm_k1z_xmm_xmmm128)], N16 },
							new object[] { VkHW_3, ymm0, code[nameof(Code.EVEX_Vpminsw_ymm_k1z_ymm_ymmm256)], N32 },
							new object[] { VkHW_3, zmm0, code[nameof(Code.EVEX_Vpminsw_zmm_k1z_zmm_zmmm512)], N64 },
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { VkHW_3b, xmm0, code[nameof(Code.EVEX_Vpord_xmm_k1z_xmm_xmmm128b32)], N16b4 },
								new object[] { VkHW_3b, ymm0, code[nameof(Code.EVEX_Vpord_ymm_k1z_ymm_ymmm256b32)], N32b4 },
								new object[] { VkHW_3b, zmm0, code[nameof(Code.EVEX_Vpord_zmm_k1z_zmm_zmmm512b32)], N64b4 },
							},
							new object[] { VectorLength,
								new object[] { VkHW_3b, xmm0, code[nameof(Code.EVEX_Vporq_xmm_k1z_xmm_xmmm128b64)], N16b8 },
								new object[] { VkHW_3b, ymm0, code[nameof(Code.EVEX_Vporq_ymm_k1z_ymm_ymmm256b64)], N32b8 },
								new object[] { VkHW_3b, zmm0, code[nameof(Code.EVEX_Vporq_zmm_k1z_zmm_zmmm512b64)], N64b8 },
							},
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { VectorLength,
							new object[] { VkHW_3, xmm0, code[nameof(Code.EVEX_Vpaddsb_xmm_k1z_xmm_xmmm128)], N16 },
							new object[] { VkHW_3, ymm0, code[nameof(Code.EVEX_Vpaddsb_ymm_k1z_ymm_ymmm256)], N32 },
							new object[] { VkHW_3, zmm0, code[nameof(Code.EVEX_Vpaddsb_zmm_k1z_zmm_zmmm512)], N64 },
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { VectorLength,
							new object[] { VkHW_3, xmm0, code[nameof(Code.EVEX_Vpaddsw_xmm_k1z_xmm_xmmm128)], N16 },
							new object[] { VkHW_3, ymm0, code[nameof(Code.EVEX_Vpaddsw_ymm_k1z_ymm_ymmm256)], N32 },
							new object[] { VkHW_3, zmm0, code[nameof(Code.EVEX_Vpaddsw_zmm_k1z_zmm_zmmm512)], N64 },
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { VectorLength,
							new object[] { VkHW_3, xmm0, code[nameof(Code.EVEX_Vpmaxsw_xmm_k1z_xmm_xmmm128)], N16 },
							new object[] { VkHW_3, ymm0, code[nameof(Code.EVEX_Vpmaxsw_ymm_k1z_ymm_ymmm256)], N32 },
							new object[] { VkHW_3, zmm0, code[nameof(Code.EVEX_Vpmaxsw_zmm_k1z_zmm_zmmm512)], N64 },
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { VkHW_3b, xmm0, code[nameof(Code.EVEX_Vpxord_xmm_k1z_xmm_xmmm128b32)], N16b4 },
								new object[] { VkHW_3b, ymm0, code[nameof(Code.EVEX_Vpxord_ymm_k1z_ymm_ymmm256b32)], N32b4 },
								new object[] { VkHW_3b, zmm0, code[nameof(Code.EVEX_Vpxord_zmm_k1z_zmm_zmmm512b32)], N64b4 },
							},
							new object[] { VectorLength,
								new object[] { VkHW_3b, xmm0, code[nameof(Code.EVEX_Vpxorq_xmm_k1z_xmm_xmmm128b64)], N16b8 },
								new object[] { VkHW_3b, ymm0, code[nameof(Code.EVEX_Vpxorq_ymm_k1z_ymm_ymmm256b64)], N32b8 },
								new object[] { VkHW_3b, zmm0, code[nameof(Code.EVEX_Vpxorq_zmm_k1z_zmm_zmmm512b64)], N64b8 },
							},
						},
						invalid,
						invalid,
					},

					// F0
					invalid,
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { VectorLength,
							new object[] { VkHW_5, xmm0, xmm0, xmm0, code[nameof(Code.EVEX_Vpsllw_xmm_k1z_xmm_xmmm128)], N16 },
							new object[] { VkHW_5, ymm0, ymm0, xmm0, code[nameof(Code.EVEX_Vpsllw_ymm_k1z_ymm_xmmm128)], N16 },
							new object[] { VkHW_5, zmm0, zmm0, xmm0, code[nameof(Code.EVEX_Vpsllw_zmm_k1z_zmm_xmmm128)], N16 },
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { VkHW_5, xmm0, xmm0, xmm0, code[nameof(Code.EVEX_Vpslld_xmm_k1z_xmm_xmmm128)], N16 },
								new object[] { VkHW_5, ymm0, ymm0, xmm0, code[nameof(Code.EVEX_Vpslld_ymm_k1z_ymm_xmmm128)], N16 },
								new object[] { VkHW_5, zmm0, zmm0, xmm0, code[nameof(Code.EVEX_Vpslld_zmm_k1z_zmm_xmmm128)], N16 },
							},
							invalid,
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							invalid,
							new object[] { VectorLength,
								new object[] { VkHW_5, xmm0, xmm0, xmm0, code[nameof(Code.EVEX_Vpsllq_xmm_k1z_xmm_xmmm128)], N16 },
								new object[] { VkHW_5, ymm0, ymm0, xmm0, code[nameof(Code.EVEX_Vpsllq_ymm_k1z_ymm_xmmm128)], N16 },
								new object[] { VkHW_5, zmm0, zmm0, xmm0, code[nameof(Code.EVEX_Vpsllq_zmm_k1z_zmm_xmmm128)], N16 },
							},
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							invalid,
							new object[] { VectorLength,
								new object[] { VkHW_3b, xmm0, code[nameof(Code.EVEX_Vpmuludq_xmm_k1z_xmm_xmmm128b64)], N16b8 },
								new object[] { VkHW_3b, ymm0, code[nameof(Code.EVEX_Vpmuludq_ymm_k1z_ymm_ymmm256b64)], N32b8 },
								new object[] { VkHW_3b, zmm0, code[nameof(Code.EVEX_Vpmuludq_zmm_k1z_zmm_zmmm512b64)], N64b8 },
							},
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { VectorLength,
							new object[] { VkHW_3, xmm0, code[nameof(Code.EVEX_Vpmaddwd_xmm_k1z_xmm_xmmm128)], N16 },
							new object[] { VkHW_3, ymm0, code[nameof(Code.EVEX_Vpmaddwd_ymm_k1z_ymm_ymmm256)], N32 },
							new object[] { VkHW_3, zmm0, code[nameof(Code.EVEX_Vpmaddwd_zmm_k1z_zmm_zmmm512)], N64 },
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { VectorLength,
							new object[] { VHW_3, xmm0, code[nameof(Code.EVEX_Vpsadbw_xmm_xmm_xmmm128)], N16 },
							new object[] { VHW_3, ymm0, code[nameof(Code.EVEX_Vpsadbw_ymm_ymm_ymmm256)], N32 },
							new object[] { VHW_3, zmm0, code[nameof(Code.EVEX_Vpsadbw_zmm_zmm_zmmm512)], N64 },
						},
						invalid,
						invalid,
					},
					invalid,

					// F8
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { VectorLength,
							new object[] { VkHW_3, xmm0, code[nameof(Code.EVEX_Vpsubb_xmm_k1z_xmm_xmmm128)], N16 },
							new object[] { VkHW_3, ymm0, code[nameof(Code.EVEX_Vpsubb_ymm_k1z_ymm_ymmm256)], N32 },
							new object[] { VkHW_3, zmm0, code[nameof(Code.EVEX_Vpsubb_zmm_k1z_zmm_zmmm512)], N64 },
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { VectorLength,
							new object[] { VkHW_3, xmm0, code[nameof(Code.EVEX_Vpsubw_xmm_k1z_xmm_xmmm128)], N16 },
							new object[] { VkHW_3, ymm0, code[nameof(Code.EVEX_Vpsubw_ymm_k1z_ymm_ymmm256)], N32 },
							new object[] { VkHW_3, zmm0, code[nameof(Code.EVEX_Vpsubw_zmm_k1z_zmm_zmmm512)], N64 },
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { VkHW_3b, xmm0, code[nameof(Code.EVEX_Vpsubd_xmm_k1z_xmm_xmmm128b32)], N16b4 },
								new object[] { VkHW_3b, ymm0, code[nameof(Code.EVEX_Vpsubd_ymm_k1z_ymm_ymmm256b32)], N32b4 },
								new object[] { VkHW_3b, zmm0, code[nameof(Code.EVEX_Vpsubd_zmm_k1z_zmm_zmmm512b32)], N64b4 },
							},
							invalid,
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							invalid,
							new object[] { VectorLength,
								new object[] { VkHW_3b, xmm0, code[nameof(Code.EVEX_Vpsubq_xmm_k1z_xmm_xmmm128b64)], N16b8 },
								new object[] { VkHW_3b, ymm0, code[nameof(Code.EVEX_Vpsubq_ymm_k1z_ymm_ymmm256b64)], N32b8 },
								new object[] { VkHW_3b, zmm0, code[nameof(Code.EVEX_Vpsubq_zmm_k1z_zmm_zmmm512b64)], N64b8 },
							},
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { VectorLength,
							new object[] { VkHW_3, xmm0, code[nameof(Code.EVEX_Vpaddb_xmm_k1z_xmm_xmmm128)], N16 },
							new object[] { VkHW_3, ymm0, code[nameof(Code.EVEX_Vpaddb_ymm_k1z_ymm_ymmm256)], N32 },
							new object[] { VkHW_3, zmm0, code[nameof(Code.EVEX_Vpaddb_zmm_k1z_zmm_zmmm512)], N64 },
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { VectorLength,
							new object[] { VkHW_3, xmm0, code[nameof(Code.EVEX_Vpaddw_xmm_k1z_xmm_xmmm128)], N16 },
							new object[] { VkHW_3, ymm0, code[nameof(Code.EVEX_Vpaddw_ymm_k1z_ymm_ymmm256)], N32 },
							new object[] { VkHW_3, zmm0, code[nameof(Code.EVEX_Vpaddw_zmm_k1z_zmm_zmmm512)], N64 },
						},
						invalid,
						invalid,
					},
					new object[] { MandatoryPrefix2,
						invalid,
						new object[] { W,
							new object[] { VectorLength,
								new object[] { VkHW_3b, xmm0, code[nameof(Code.EVEX_Vpaddd_xmm_k1z_xmm_xmmm128b32)], N16b4 },
								new object[] { VkHW_3b, ymm0, code[nameof(Code.EVEX_Vpaddd_ymm_k1z_ymm_ymmm256b32)], N32b4 },
								new object[] { VkHW_3b, zmm0, code[nameof(Code.EVEX_Vpaddd_zmm_k1z_zmm_zmmm512b32)], N64b4 },
							},
							invalid,
						},
						invalid,
						invalid,
					},
					invalid,
				}),
			};
			return handlers;
		}
	}
}
